diff --git a/.github/workflows/ci-expanded.yml b/.github/workflows/ci-expanded.yml index 17b5cb0a..94eb7f25 100644 --- a/.github/workflows/ci-expanded.yml +++ b/.github/workflows/ci-expanded.yml @@ -7,15 +7,36 @@ name: Expanded Continuous Integration -on: [ workflow_dispatch ] +on: + workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.repository_owner == 'libbitcoin' && (github.event.pull_request.number || github.run_id) || github.ref }} cancel-in-progress: true jobs: + information: + runs-on: ubuntu-latest + + env: + CONCURRENCY_GROUP: ${{ github.workflow }}-${{ github.repository_owner == 'libbitcoin' && (github.event.pull_request.number || github.run_id) || github.ref }} + + steps: + - name: state + run: | + echo "group : $CONCURRENCY_GROUP" + echo "owner : ${{ github.repository_owner }}" + echo "pr : ${{ github.event.pull_request }}" + echo "pr # : ${{ github.event.pull_request.number }}" + echo "run_id : ${{ github.run_id }}" + echo "ref : ${{ github.ref }}" + echo "base_ref : ${{ github.base_ref }}" + echo "head_ref : ${{ github.head_ref }}" + gnu: + if: github.event_name != 'pull_request' || github.event.action != 'closed' + strategy: fail-fast: false @@ -404,6 +425,8 @@ jobs: fi - name: Checkout repository [libbitcoin-system] + id: checkout-libbitcoin-system + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -411,7 +434,17 @@ jobs: ref: ${{ steps.get-branch.outputs.branch }} repository: ${{ github.repository_owner }}/libbitcoin-system + - name: Checkout repository [libbitcoin-system] cleanup on failure + continue-on-error: true + if: steps.checkout-libbitcoin-system.outcome == 'failure' + shell: bash + run: | + rm -rf ${{ github.workspace }}/libbitcoin-system + + - name: Checkout repository [libbitcoin-database] + id: checkout-libbitcoin-database + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -419,7 +452,17 @@ jobs: ref: ${{ steps.get-branch.outputs.branch }} repository: ${{ github.repository_owner }}/libbitcoin-database + - name: Checkout repository [libbitcoin-database] cleanup on failure + continue-on-error: true + if: steps.checkout-libbitcoin-database.outcome == 'failure' + shell: bash + run: | + rm -rf ${{ github.workspace }}/libbitcoin-database + + - name: Checkout repository [libbitcoin-network] + id: checkout-libbitcoin-network + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -427,13 +470,23 @@ jobs: ref: ${{ steps.get-branch.outputs.branch }} repository: ${{ github.repository_owner }}/libbitcoin-network + - name: Checkout repository [libbitcoin-network] cleanup on failure + continue-on-error: true + if: steps.checkout-libbitcoin-network.outcome == 'failure' + shell: bash + run: | + rm -rf ${{ github.workspace }}/libbitcoin-network + + - name: Checkout repository [libbitcoin-node] + id: checkout-libbitcoin-node uses: actions/checkout@v6 with: fetch-depth: 1 path: 'libbitcoin-node' repository: ${{ github.repository }} + - name: Prepare toolchain [linux] if: ${{ startsWith(matrix.image, 'ubuntu') }} shell: bash @@ -557,6 +610,8 @@ jobs: if-no-files-found: warn cmake: + if: github.event_name != 'pull_request' || github.event.action != 'closed' + strategy: fail-fast: false @@ -945,6 +1000,8 @@ jobs: fi - name: Checkout repository [libbitcoin-system] + id: checkout-libbitcoin-system + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -952,7 +1009,17 @@ jobs: ref: ${{ steps.get-branch.outputs.branch }} repository: ${{ github.repository_owner }}/libbitcoin-system + - name: Checkout repository [libbitcoin-system] cleanup on failure + continue-on-error: true + if: steps.checkout-libbitcoin-system.outcome == 'failure' + shell: bash + run: | + rm -rf ${{ github.workspace }}/libbitcoin-system + + - name: Checkout repository [libbitcoin-database] + id: checkout-libbitcoin-database + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -960,7 +1027,17 @@ jobs: ref: ${{ steps.get-branch.outputs.branch }} repository: ${{ github.repository_owner }}/libbitcoin-database + - name: Checkout repository [libbitcoin-database] cleanup on failure + continue-on-error: true + if: steps.checkout-libbitcoin-database.outcome == 'failure' + shell: bash + run: | + rm -rf ${{ github.workspace }}/libbitcoin-database + + - name: Checkout repository [libbitcoin-network] + id: checkout-libbitcoin-network + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -968,13 +1045,23 @@ jobs: ref: ${{ steps.get-branch.outputs.branch }} repository: ${{ github.repository_owner }}/libbitcoin-network + - name: Checkout repository [libbitcoin-network] cleanup on failure + continue-on-error: true + if: steps.checkout-libbitcoin-network.outcome == 'failure' + shell: bash + run: | + rm -rf ${{ github.workspace }}/libbitcoin-network + + - name: Checkout repository [libbitcoin-node] + id: checkout-libbitcoin-node uses: actions/checkout@v6 with: fetch-depth: 1 path: 'libbitcoin-node' repository: ${{ github.repository }} + - name: Prepare toolchain [linux] if: ${{ startsWith(matrix.image, 'ubuntu') }} shell: bash @@ -1098,6 +1185,8 @@ jobs: if-no-files-found: warn presets: + if: github.event_name != 'pull_request' || github.event.action != 'closed' + strategy: fail-fast: false @@ -1112,7 +1201,7 @@ jobs: package: "clang-19 clang++-19" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-debug-static" @@ -1123,7 +1212,7 @@ jobs: package: "clang-19 clang++-19" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-release-shared" @@ -1134,7 +1223,7 @@ jobs: package: "clang-19 clang++-19" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-release-static" @@ -1145,7 +1234,7 @@ jobs: package: "clang-19 clang++-19" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-debug-shared" @@ -1155,7 +1244,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-debug-static" @@ -1165,7 +1254,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-release-shared" @@ -1175,7 +1264,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-release-static" @@ -1185,7 +1274,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-debug-shared" @@ -1195,7 +1284,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-debug-static" @@ -1205,7 +1294,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-release-shared" @@ -1215,7 +1304,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-release-static" @@ -1225,7 +1314,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-debug-shared" @@ -1235,7 +1324,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-debug-static" @@ -1245,7 +1334,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-release-shared" @@ -1255,7 +1344,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-release-static" @@ -1265,7 +1354,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-debug-shared" @@ -1275,7 +1364,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-debug-static" @@ -1285,7 +1374,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-release-shared" @@ -1295,7 +1384,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-release-static" @@ -1305,7 +1394,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-debug-shared" @@ -1316,7 +1405,7 @@ jobs: package: "g++-15 gcc-15" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-debug-static" @@ -1327,7 +1416,7 @@ jobs: package: "g++-15 gcc-15" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-release-shared" @@ -1338,7 +1427,7 @@ jobs: package: "g++-15 gcc-15" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-release-static" @@ -1349,7 +1438,7 @@ jobs: package: "g++-15 gcc-15" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-debug-shared" @@ -1360,7 +1449,7 @@ jobs: package: "g++-16 gcc-16" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-debug-static" @@ -1371,7 +1460,7 @@ jobs: package: "g++-16 gcc-16" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-release-shared" @@ -1382,7 +1471,7 @@ jobs: package: "g++-16 gcc-16" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-release-static" @@ -1393,7 +1482,7 @@ jobs: package: "g++-16 gcc-16" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" runs-on: ${{ matrix.image }} @@ -1414,6 +1503,8 @@ jobs: fi - name: Checkout repository [libbitcoin-system] + id: checkout-libbitcoin-system + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -1421,7 +1512,17 @@ jobs: ref: ${{ steps.get-branch.outputs.branch }} repository: ${{ github.repository_owner }}/libbitcoin-system + - name: Checkout repository [libbitcoin-system] cleanup on failure + continue-on-error: true + if: steps.checkout-libbitcoin-system.outcome == 'failure' + shell: bash + run: | + rm -rf ${{ github.workspace }}/libbitcoin-system + + - name: Checkout repository [libbitcoin-database] + id: checkout-libbitcoin-database + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -1429,7 +1530,17 @@ jobs: ref: ${{ steps.get-branch.outputs.branch }} repository: ${{ github.repository_owner }}/libbitcoin-database + - name: Checkout repository [libbitcoin-database] cleanup on failure + continue-on-error: true + if: steps.checkout-libbitcoin-database.outcome == 'failure' + shell: bash + run: | + rm -rf ${{ github.workspace }}/libbitcoin-database + + - name: Checkout repository [libbitcoin-network] + id: checkout-libbitcoin-network + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -1437,13 +1548,23 @@ jobs: ref: ${{ steps.get-branch.outputs.branch }} repository: ${{ github.repository_owner }}/libbitcoin-network + - name: Checkout repository [libbitcoin-network] cleanup on failure + continue-on-error: true + if: steps.checkout-libbitcoin-network.outcome == 'failure' + shell: bash + run: | + rm -rf ${{ github.workspace }}/libbitcoin-network + + - name: Checkout repository [libbitcoin-node] + id: checkout-libbitcoin-node uses: actions/checkout@v6 with: fetch-depth: 1 path: 'libbitcoin-node' repository: ${{ github.repository }} + - name: Prepare toolchain [linux] if: ${{ startsWith(matrix.image, 'ubuntu') }} shell: bash @@ -1562,6 +1683,8 @@ jobs: if-no-files-found: warn msvc: + if: github.event_name != 'pull_request' || github.event.action != 'closed' + strategy: fail-fast: false @@ -1610,6 +1733,8 @@ jobs: msbuild-architecture: x64 - name: Checkout repository [libbitcoin-system] + id: checkout-libbitcoin-system + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -1617,7 +1742,16 @@ jobs: ref: ${{ steps.get-branch.outputs.branch }} repository: ${{ github.repository_owner }}/libbitcoin-system + - name: Checkout repository [libbitcoin-system] cleanup on failure + continue-on-error: true + if: steps.checkout-libbitcoin-system.outcome == 'failure' + shell: powershell + run: | + Remove-Item -Path ${{ github.workspace }}\libbitcoin-system -Recurse -Force -ErrorAction SilentlyContinue + - name: Checkout repository [libbitcoin-database] + id: checkout-libbitcoin-database + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -1625,7 +1759,16 @@ jobs: ref: ${{ steps.get-branch.outputs.branch }} repository: ${{ github.repository_owner }}/libbitcoin-database + - name: Checkout repository [libbitcoin-database] cleanup on failure + continue-on-error: true + if: steps.checkout-libbitcoin-database.outcome == 'failure' + shell: powershell + run: | + Remove-Item -Path ${{ github.workspace }}\libbitcoin-database -Recurse -Force -ErrorAction SilentlyContinue + - name: Checkout repository [libbitcoin-network] + id: checkout-libbitcoin-network + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -1633,7 +1776,15 @@ jobs: ref: ${{ steps.get-branch.outputs.branch }} repository: ${{ github.repository_owner }}/libbitcoin-network + - name: Checkout repository [libbitcoin-network] cleanup on failure + continue-on-error: true + if: steps.checkout-libbitcoin-network.outcome == 'failure' + shell: powershell + run: | + Remove-Item -Path ${{ github.workspace }}\libbitcoin-network -Recurse -Force -ErrorAction SilentlyContinue + - name: Checkout repository [libbitcoin-node] + id: checkout-libbitcoin-node uses: actions/checkout@v6 with: fetch-depth: 1 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d6439065..c750e0e6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,15 +7,39 @@ name: Continuous Integration -on: [ pull_request, push, workflow_dispatch ] +on: + pull_request: + types: [opened, synchronize, reopened, closed] + push: + workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.repository_owner == 'libbitcoin' && (github.event.pull_request.number || github.run_id) || github.ref }} cancel-in-progress: true jobs: + information: + runs-on: ubuntu-latest + + env: + CONCURRENCY_GROUP: ${{ github.workflow }}-${{ github.repository_owner == 'libbitcoin' && (github.event.pull_request.number || github.run_id) || github.ref }} + + steps: + - name: state + run: | + echo "group : $CONCURRENCY_GROUP" + echo "owner : ${{ github.repository_owner }}" + echo "pr : ${{ github.event.pull_request }}" + echo "pr # : ${{ github.event.pull_request.number }}" + echo "run_id : ${{ github.run_id }}" + echo "ref : ${{ github.ref }}" + echo "base_ref : ${{ github.base_ref }}" + echo "head_ref : ${{ github.head_ref }}" + gnu: + if: github.event_name != 'pull_request' || github.event.action != 'closed' + strategy: fail-fast: false @@ -97,6 +121,8 @@ jobs: fi - name: Checkout repository [libbitcoin-system] + id: checkout-libbitcoin-system + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -104,7 +130,17 @@ jobs: ref: ${{ steps.get-branch.outputs.branch }} repository: ${{ github.repository_owner }}/libbitcoin-system + - name: Checkout repository [libbitcoin-system] cleanup on failure + continue-on-error: true + if: steps.checkout-libbitcoin-system.outcome == 'failure' + shell: bash + run: | + rm -rf ${{ github.workspace }}/libbitcoin-system + + - name: Checkout repository [libbitcoin-database] + id: checkout-libbitcoin-database + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -112,7 +148,17 @@ jobs: ref: ${{ steps.get-branch.outputs.branch }} repository: ${{ github.repository_owner }}/libbitcoin-database + - name: Checkout repository [libbitcoin-database] cleanup on failure + continue-on-error: true + if: steps.checkout-libbitcoin-database.outcome == 'failure' + shell: bash + run: | + rm -rf ${{ github.workspace }}/libbitcoin-database + + - name: Checkout repository [libbitcoin-network] + id: checkout-libbitcoin-network + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -120,13 +166,23 @@ jobs: ref: ${{ steps.get-branch.outputs.branch }} repository: ${{ github.repository_owner }}/libbitcoin-network + - name: Checkout repository [libbitcoin-network] cleanup on failure + continue-on-error: true + if: steps.checkout-libbitcoin-network.outcome == 'failure' + shell: bash + run: | + rm -rf ${{ github.workspace }}/libbitcoin-network + + - name: Checkout repository [libbitcoin-node] + id: checkout-libbitcoin-node uses: actions/checkout@v6 with: fetch-depth: 1 path: 'libbitcoin-node' repository: ${{ github.repository }} + - name: Prepare toolchain [linux] if: ${{ startsWith(matrix.image, 'ubuntu') }} shell: bash @@ -250,6 +306,8 @@ jobs: if-no-files-found: warn cmake: + if: github.event_name != 'pull_request' || github.event.action != 'closed' + strategy: fail-fast: false @@ -331,6 +389,8 @@ jobs: fi - name: Checkout repository [libbitcoin-system] + id: checkout-libbitcoin-system + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -338,7 +398,17 @@ jobs: ref: ${{ steps.get-branch.outputs.branch }} repository: ${{ github.repository_owner }}/libbitcoin-system + - name: Checkout repository [libbitcoin-system] cleanup on failure + continue-on-error: true + if: steps.checkout-libbitcoin-system.outcome == 'failure' + shell: bash + run: | + rm -rf ${{ github.workspace }}/libbitcoin-system + + - name: Checkout repository [libbitcoin-database] + id: checkout-libbitcoin-database + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -346,7 +416,17 @@ jobs: ref: ${{ steps.get-branch.outputs.branch }} repository: ${{ github.repository_owner }}/libbitcoin-database + - name: Checkout repository [libbitcoin-database] cleanup on failure + continue-on-error: true + if: steps.checkout-libbitcoin-database.outcome == 'failure' + shell: bash + run: | + rm -rf ${{ github.workspace }}/libbitcoin-database + + - name: Checkout repository [libbitcoin-network] + id: checkout-libbitcoin-network + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -354,13 +434,23 @@ jobs: ref: ${{ steps.get-branch.outputs.branch }} repository: ${{ github.repository_owner }}/libbitcoin-network + - name: Checkout repository [libbitcoin-network] cleanup on failure + continue-on-error: true + if: steps.checkout-libbitcoin-network.outcome == 'failure' + shell: bash + run: | + rm -rf ${{ github.workspace }}/libbitcoin-network + + - name: Checkout repository [libbitcoin-node] + id: checkout-libbitcoin-node uses: actions/checkout@v6 with: fetch-depth: 1 path: 'libbitcoin-node' repository: ${{ github.repository }} + - name: Prepare toolchain [linux] if: ${{ startsWith(matrix.image, 'ubuntu') }} shell: bash @@ -484,6 +574,8 @@ jobs: if-no-files-found: warn presets: + if: github.event_name != 'pull_request' || github.event.action != 'closed' + strategy: fail-fast: false @@ -497,7 +589,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-debug-static" @@ -507,7 +599,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" runs-on: ${{ matrix.image }} @@ -528,6 +620,8 @@ jobs: fi - name: Checkout repository [libbitcoin-system] + id: checkout-libbitcoin-system + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -535,7 +629,17 @@ jobs: ref: ${{ steps.get-branch.outputs.branch }} repository: ${{ github.repository_owner }}/libbitcoin-system + - name: Checkout repository [libbitcoin-system] cleanup on failure + continue-on-error: true + if: steps.checkout-libbitcoin-system.outcome == 'failure' + shell: bash + run: | + rm -rf ${{ github.workspace }}/libbitcoin-system + + - name: Checkout repository [libbitcoin-database] + id: checkout-libbitcoin-database + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -543,7 +647,17 @@ jobs: ref: ${{ steps.get-branch.outputs.branch }} repository: ${{ github.repository_owner }}/libbitcoin-database + - name: Checkout repository [libbitcoin-database] cleanup on failure + continue-on-error: true + if: steps.checkout-libbitcoin-database.outcome == 'failure' + shell: bash + run: | + rm -rf ${{ github.workspace }}/libbitcoin-database + + - name: Checkout repository [libbitcoin-network] + id: checkout-libbitcoin-network + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -551,13 +665,23 @@ jobs: ref: ${{ steps.get-branch.outputs.branch }} repository: ${{ github.repository_owner }}/libbitcoin-network + - name: Checkout repository [libbitcoin-network] cleanup on failure + continue-on-error: true + if: steps.checkout-libbitcoin-network.outcome == 'failure' + shell: bash + run: | + rm -rf ${{ github.workspace }}/libbitcoin-network + + - name: Checkout repository [libbitcoin-node] + id: checkout-libbitcoin-node uses: actions/checkout@v6 with: fetch-depth: 1 path: 'libbitcoin-node' repository: ${{ github.repository }} + - name: Prepare toolchain [linux] if: ${{ startsWith(matrix.image, 'ubuntu') }} shell: bash @@ -676,6 +800,8 @@ jobs: if-no-files-found: warn msvc: + if: github.event_name != 'pull_request' || github.event.action != 'closed' + strategy: fail-fast: false @@ -712,6 +838,8 @@ jobs: msbuild-architecture: x64 - name: Checkout repository [libbitcoin-system] + id: checkout-libbitcoin-system + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -719,7 +847,16 @@ jobs: ref: ${{ steps.get-branch.outputs.branch }} repository: ${{ github.repository_owner }}/libbitcoin-system + - name: Checkout repository [libbitcoin-system] cleanup on failure + continue-on-error: true + if: steps.checkout-libbitcoin-system.outcome == 'failure' + shell: powershell + run: | + Remove-Item -Path ${{ github.workspace }}\libbitcoin-system -Recurse -Force -ErrorAction SilentlyContinue + - name: Checkout repository [libbitcoin-database] + id: checkout-libbitcoin-database + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -727,7 +864,16 @@ jobs: ref: ${{ steps.get-branch.outputs.branch }} repository: ${{ github.repository_owner }}/libbitcoin-database + - name: Checkout repository [libbitcoin-database] cleanup on failure + continue-on-error: true + if: steps.checkout-libbitcoin-database.outcome == 'failure' + shell: powershell + run: | + Remove-Item -Path ${{ github.workspace }}\libbitcoin-database -Recurse -Force -ErrorAction SilentlyContinue + - name: Checkout repository [libbitcoin-network] + id: checkout-libbitcoin-network + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -735,7 +881,15 @@ jobs: ref: ${{ steps.get-branch.outputs.branch }} repository: ${{ github.repository_owner }}/libbitcoin-network + - name: Checkout repository [libbitcoin-network] cleanup on failure + continue-on-error: true + if: steps.checkout-libbitcoin-network.outcome == 'failure' + shell: powershell + run: | + Remove-Item -Path ${{ github.workspace }}\libbitcoin-network -Recurse -Force -ErrorAction SilentlyContinue + - name: Checkout repository [libbitcoin-node] + id: checkout-libbitcoin-node uses: actions/checkout@v6 with: fetch-depth: 1 diff --git a/.gitignore b/.gitignore index 9663a64c..497f8205 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,11 @@ # python bytecode *.pyc +# store +*.bin +*.head +*.data + # gnu .deps Makefile