From f9f49c09c17b70ff889f9e5e68da6bed869f3359 Mon Sep 17 00:00:00 2001 From: Phillip Mienk Date: Fri, 18 Sep 2026 11:41:50 -0700 Subject: [PATCH 1/3] Add concurrency group calculation information for refinement, suppress test compilation/execution for presets. --- .github/workflows/ci-expanded.yml | 90 +++++++++++++++++++++---------- .github/workflows/ci.yml | 38 ++++++++++++- 2 files changed, 98 insertions(+), 30 deletions(-) diff --git a/.github/workflows/ci-expanded.yml b/.github/workflows/ci-expanded.yml index 77460359..e09d433b 100644 --- a/.github/workflows/ci-expanded.yml +++ b/.github/workflows/ci-expanded.yml @@ -14,6 +14,24 @@ concurrency: 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: strategy: @@ -404,6 +422,7 @@ jobs: fi - name: Checkout repository [libbitcoin-system] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -412,6 +431,7 @@ jobs: repository: ${{ github.repository_owner }}/libbitcoin-system - name: Checkout repository [libbitcoin-database] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -420,6 +440,7 @@ jobs: repository: ${{ github.repository_owner }}/libbitcoin-database - name: Checkout repository [libbitcoin-network] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -428,6 +449,7 @@ jobs: repository: ${{ github.repository_owner }}/libbitcoin-network - name: Checkout repository [libbitcoin-node] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -962,6 +984,7 @@ jobs: fi - name: Checkout repository [libbitcoin-system] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -970,6 +993,7 @@ jobs: repository: ${{ github.repository_owner }}/libbitcoin-system - name: Checkout repository [libbitcoin-database] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -978,6 +1002,7 @@ jobs: repository: ${{ github.repository_owner }}/libbitcoin-database - name: Checkout repository [libbitcoin-network] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -986,6 +1011,7 @@ jobs: repository: ${{ github.repository_owner }}/libbitcoin-network - name: Checkout repository [libbitcoin-node] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -1146,7 +1172,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" @@ -1157,7 +1183,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" @@ -1168,7 +1194,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" @@ -1179,7 +1205,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" @@ -1189,7 +1215,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-debug-static" @@ -1199,7 +1225,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-release-shared" @@ -1209,7 +1235,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-release-static" @@ -1219,7 +1245,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-debug-shared" @@ -1229,7 +1255,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-debug-static" @@ -1239,7 +1265,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-release-shared" @@ -1249,7 +1275,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-release-static" @@ -1259,7 +1285,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-debug-shared" @@ -1269,7 +1295,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-debug-static" @@ -1279,7 +1305,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-release-shared" @@ -1289,7 +1315,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-release-static" @@ -1299,7 +1325,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-debug-shared" @@ -1309,7 +1335,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-debug-static" @@ -1319,7 +1345,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-release-shared" @@ -1329,7 +1355,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-release-static" @@ -1339,7 +1365,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-debug-shared" @@ -1350,7 +1376,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" @@ -1361,7 +1387,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" @@ -1372,7 +1398,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" @@ -1383,7 +1409,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" @@ -1394,7 +1420,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" @@ -1405,7 +1431,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" @@ -1416,7 +1442,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" @@ -1427,7 +1453,7 @@ jobs: package: "g++-16 gcc-16" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" runs-on: ${{ matrix.image }} @@ -1448,6 +1474,7 @@ jobs: fi - name: Checkout repository [libbitcoin-system] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -1456,6 +1483,7 @@ jobs: repository: ${{ github.repository_owner }}/libbitcoin-system - name: Checkout repository [libbitcoin-database] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -1464,6 +1492,7 @@ jobs: repository: ${{ github.repository_owner }}/libbitcoin-database - name: Checkout repository [libbitcoin-network] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -1472,6 +1501,7 @@ jobs: repository: ${{ github.repository_owner }}/libbitcoin-network - name: Checkout repository [libbitcoin-node] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -1661,6 +1691,7 @@ jobs: msbuild-architecture: x64 - name: Checkout repository [libbitcoin-system] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -1669,6 +1700,7 @@ jobs: repository: ${{ github.repository_owner }}/libbitcoin-system - name: Checkout repository [libbitcoin-database] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -1677,6 +1709,7 @@ jobs: repository: ${{ github.repository_owner }}/libbitcoin-database - name: Checkout repository [libbitcoin-network] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -1685,6 +1718,7 @@ jobs: repository: ${{ github.repository_owner }}/libbitcoin-network - name: Checkout repository [libbitcoin-node] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a248cac8..4a2f99fc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,6 +14,24 @@ concurrency: 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: strategy: @@ -97,6 +115,7 @@ jobs: fi - name: Checkout repository [libbitcoin-system] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -105,6 +124,7 @@ jobs: repository: ${{ github.repository_owner }}/libbitcoin-system - name: Checkout repository [libbitcoin-database] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -113,6 +133,7 @@ jobs: repository: ${{ github.repository_owner }}/libbitcoin-database - name: Checkout repository [libbitcoin-network] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -121,6 +142,7 @@ jobs: repository: ${{ github.repository_owner }}/libbitcoin-network - name: Checkout repository [libbitcoin-node] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -348,6 +370,7 @@ jobs: fi - name: Checkout repository [libbitcoin-system] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -356,6 +379,7 @@ jobs: repository: ${{ github.repository_owner }}/libbitcoin-system - name: Checkout repository [libbitcoin-database] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -364,6 +388,7 @@ jobs: repository: ${{ github.repository_owner }}/libbitcoin-database - name: Checkout repository [libbitcoin-network] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -372,6 +397,7 @@ jobs: repository: ${{ github.repository_owner }}/libbitcoin-network - name: Checkout repository [libbitcoin-node] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -531,7 +557,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" - image: ubuntu-24.04 preset: "nix-gnu-debug-static" @@ -541,7 +567,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" runs-on: ${{ matrix.image }} @@ -562,6 +588,7 @@ jobs: fi - name: Checkout repository [libbitcoin-system] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -570,6 +597,7 @@ jobs: repository: ${{ github.repository_owner }}/libbitcoin-system - name: Checkout repository [libbitcoin-database] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -578,6 +606,7 @@ jobs: repository: ${{ github.repository_owner }}/libbitcoin-database - name: Checkout repository [libbitcoin-network] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -586,6 +615,7 @@ jobs: repository: ${{ github.repository_owner }}/libbitcoin-network - name: Checkout repository [libbitcoin-node] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -763,6 +793,7 @@ jobs: msbuild-architecture: x64 - name: Checkout repository [libbitcoin-system] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -771,6 +802,7 @@ jobs: repository: ${{ github.repository_owner }}/libbitcoin-system - name: Checkout repository [libbitcoin-database] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -779,6 +811,7 @@ jobs: repository: ${{ github.repository_owner }}/libbitcoin-database - name: Checkout repository [libbitcoin-network] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -787,6 +820,7 @@ jobs: repository: ${{ github.repository_owner }}/libbitcoin-network - name: Checkout repository [libbitcoin-node] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 From ea9a52bd092e409a2c07e22e27a7397e93d3e49a Mon Sep 17 00:00:00 2001 From: Phillip Mienk Date: Fri, 18 Sep 2026 22:15:13 -0700 Subject: [PATCH 2/3] Regenerate with checkout failure cleanup correction. --- .github/workflows/ci-expanded.yml | 147 ++++++++++++++++++++++++++++++ .github/workflows/ci.yml | 147 ++++++++++++++++++++++++++++++ .gitignore | 5 + 3 files changed, 299 insertions(+) diff --git a/.github/workflows/ci-expanded.yml b/.github/workflows/ci-expanded.yml index e09d433b..f3cac30c 100644 --- a/.github/workflows/ci-expanded.yml +++ b/.github/workflows/ci-expanded.yml @@ -422,6 +422,7 @@ jobs: fi - name: Checkout repository [libbitcoin-system] + id: checkout-libbitcoin-system continue-on-error: true uses: actions/checkout@v6 with: @@ -430,7 +431,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: 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: @@ -439,7 +449,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: 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: @@ -448,7 +467,16 @@ 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 continue-on-error: true uses: actions/checkout@v6 with: @@ -457,13 +485,23 @@ jobs: ref: ${{ steps.get-branch.outputs.branch }} repository: ${{ github.repository_owner }}/libbitcoin-node + - name: Checkout repository [libbitcoin-node] cleanup on failure + continue-on-error: true + if: steps.checkout-libbitcoin-node.outcome == 'failure' + shell: bash + run: | + rm -rf ${{ github.workspace }}/libbitcoin-node + + - name: Checkout repository [libbitcoin-server] + id: checkout-libbitcoin-server uses: actions/checkout@v6 with: fetch-depth: 1 path: 'libbitcoin-server' repository: ${{ github.repository }} + - name: Prepare toolchain [linux] if: ${{ startsWith(matrix.image, 'ubuntu') }} shell: bash @@ -984,6 +1022,7 @@ jobs: fi - name: Checkout repository [libbitcoin-system] + id: checkout-libbitcoin-system continue-on-error: true uses: actions/checkout@v6 with: @@ -992,7 +1031,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: 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: @@ -1001,7 +1049,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: 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: @@ -1010,7 +1067,16 @@ 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 continue-on-error: true uses: actions/checkout@v6 with: @@ -1019,13 +1085,23 @@ jobs: ref: ${{ steps.get-branch.outputs.branch }} repository: ${{ github.repository_owner }}/libbitcoin-node + - name: Checkout repository [libbitcoin-node] cleanup on failure + continue-on-error: true + if: steps.checkout-libbitcoin-node.outcome == 'failure' + shell: bash + run: | + rm -rf ${{ github.workspace }}/libbitcoin-node + + - name: Checkout repository [libbitcoin-server] + id: checkout-libbitcoin-server uses: actions/checkout@v6 with: fetch-depth: 1 path: 'libbitcoin-server' repository: ${{ github.repository }} + - name: Prepare toolchain [linux] if: ${{ startsWith(matrix.image, 'ubuntu') }} shell: bash @@ -1474,6 +1550,7 @@ jobs: fi - name: Checkout repository [libbitcoin-system] + id: checkout-libbitcoin-system continue-on-error: true uses: actions/checkout@v6 with: @@ -1482,7 +1559,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: 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: @@ -1491,7 +1577,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: 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: @@ -1500,7 +1595,16 @@ 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 continue-on-error: true uses: actions/checkout@v6 with: @@ -1509,13 +1613,23 @@ jobs: ref: ${{ steps.get-branch.outputs.branch }} repository: ${{ github.repository_owner }}/libbitcoin-node + - name: Checkout repository [libbitcoin-node] cleanup on failure + continue-on-error: true + if: steps.checkout-libbitcoin-node.outcome == 'failure' + shell: bash + run: | + rm -rf ${{ github.workspace }}/libbitcoin-node + + - name: Checkout repository [libbitcoin-server] + id: checkout-libbitcoin-server uses: actions/checkout@v6 with: fetch-depth: 1 path: 'libbitcoin-server' repository: ${{ github.repository }} + - name: Prepare toolchain [linux] if: ${{ startsWith(matrix.image, 'ubuntu') }} shell: bash @@ -1691,6 +1805,7 @@ jobs: msbuild-architecture: x64 - name: Checkout repository [libbitcoin-system] + id: checkout-libbitcoin-system continue-on-error: true uses: actions/checkout@v6 with: @@ -1699,7 +1814,15 @@ 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: @@ -1708,7 +1831,15 @@ 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: @@ -1717,7 +1848,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 continue-on-error: true uses: actions/checkout@v6 with: @@ -1726,7 +1865,15 @@ jobs: ref: ${{ steps.get-branch.outputs.branch }} repository: ${{ github.repository_owner }}/libbitcoin-node + - name: Checkout repository [libbitcoin-node] cleanup on failure + continue-on-error: true + if: steps.checkout-libbitcoin-node.outcome == 'failure' + shell: powershell + run: | + Remove-Item -Path ${{ github.workspace }}\libbitcoin-node -Recurse -Force -ErrorAction SilentlyContinue + - name: Checkout repository [libbitcoin-server] + id: checkout-libbitcoin-server uses: actions/checkout@v6 with: fetch-depth: 1 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4a2f99fc..f1071ae3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -115,6 +115,7 @@ jobs: fi - name: Checkout repository [libbitcoin-system] + id: checkout-libbitcoin-system continue-on-error: true uses: actions/checkout@v6 with: @@ -123,7 +124,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: 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: @@ -132,7 +142,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: 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: @@ -141,7 +160,16 @@ 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 continue-on-error: true uses: actions/checkout@v6 with: @@ -150,13 +178,23 @@ jobs: ref: ${{ steps.get-branch.outputs.branch }} repository: ${{ github.repository_owner }}/libbitcoin-node + - name: Checkout repository [libbitcoin-node] cleanup on failure + continue-on-error: true + if: steps.checkout-libbitcoin-node.outcome == 'failure' + shell: bash + run: | + rm -rf ${{ github.workspace }}/libbitcoin-node + + - name: Checkout repository [libbitcoin-server] + id: checkout-libbitcoin-server uses: actions/checkout@v6 with: fetch-depth: 1 path: 'libbitcoin-server' repository: ${{ github.repository }} + - name: Prepare toolchain [linux] if: ${{ startsWith(matrix.image, 'ubuntu') }} shell: bash @@ -370,6 +408,7 @@ jobs: fi - name: Checkout repository [libbitcoin-system] + id: checkout-libbitcoin-system continue-on-error: true uses: actions/checkout@v6 with: @@ -378,7 +417,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: 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: @@ -387,7 +435,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: 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: @@ -396,7 +453,16 @@ 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 continue-on-error: true uses: actions/checkout@v6 with: @@ -405,13 +471,23 @@ jobs: ref: ${{ steps.get-branch.outputs.branch }} repository: ${{ github.repository_owner }}/libbitcoin-node + - name: Checkout repository [libbitcoin-node] cleanup on failure + continue-on-error: true + if: steps.checkout-libbitcoin-node.outcome == 'failure' + shell: bash + run: | + rm -rf ${{ github.workspace }}/libbitcoin-node + + - name: Checkout repository [libbitcoin-server] + id: checkout-libbitcoin-server uses: actions/checkout@v6 with: fetch-depth: 1 path: 'libbitcoin-server' repository: ${{ github.repository }} + - name: Prepare toolchain [linux] if: ${{ startsWith(matrix.image, 'ubuntu') }} shell: bash @@ -588,6 +664,7 @@ jobs: fi - name: Checkout repository [libbitcoin-system] + id: checkout-libbitcoin-system continue-on-error: true uses: actions/checkout@v6 with: @@ -596,7 +673,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: 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: @@ -605,7 +691,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: 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: @@ -614,7 +709,16 @@ 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 continue-on-error: true uses: actions/checkout@v6 with: @@ -623,13 +727,23 @@ jobs: ref: ${{ steps.get-branch.outputs.branch }} repository: ${{ github.repository_owner }}/libbitcoin-node + - name: Checkout repository [libbitcoin-node] cleanup on failure + continue-on-error: true + if: steps.checkout-libbitcoin-node.outcome == 'failure' + shell: bash + run: | + rm -rf ${{ github.workspace }}/libbitcoin-node + + - name: Checkout repository [libbitcoin-server] + id: checkout-libbitcoin-server uses: actions/checkout@v6 with: fetch-depth: 1 path: 'libbitcoin-server' repository: ${{ github.repository }} + - name: Prepare toolchain [linux] if: ${{ startsWith(matrix.image, 'ubuntu') }} shell: bash @@ -793,6 +907,7 @@ jobs: msbuild-architecture: x64 - name: Checkout repository [libbitcoin-system] + id: checkout-libbitcoin-system continue-on-error: true uses: actions/checkout@v6 with: @@ -801,7 +916,15 @@ 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: @@ -810,7 +933,15 @@ 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: @@ -819,7 +950,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 continue-on-error: true uses: actions/checkout@v6 with: @@ -828,7 +967,15 @@ jobs: ref: ${{ steps.get-branch.outputs.branch }} repository: ${{ github.repository_owner }}/libbitcoin-node + - name: Checkout repository [libbitcoin-node] cleanup on failure + continue-on-error: true + if: steps.checkout-libbitcoin-node.outcome == 'failure' + shell: powershell + run: | + Remove-Item -Path ${{ github.workspace }}\libbitcoin-node -Recurse -Force -ErrorAction SilentlyContinue + - name: Checkout repository [libbitcoin-server] + id: checkout-libbitcoin-server uses: actions/checkout@v6 with: fetch-depth: 1 diff --git a/.gitignore b/.gitignore index f8e691b4..c0f6145c 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,11 @@ # python bytecode *.pyc +# store +*.bin +*.head +*.data + # gnu .deps Makefile From d60167774032ee10f8d96e81db1169f33a1e7b07 Mon Sep 17 00:00:00 2001 From: Phillip Mienk Date: Fri, 18 Sep 2026 23:13:42 -0700 Subject: [PATCH 3/3] Alter behavior on pull request closed. --- .github/workflows/ci-expanded.yml | 11 ++++++++++- .github/workflows/ci.yml | 14 +++++++++++++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci-expanded.yml b/.github/workflows/ci-expanded.yml index f3cac30c..6a8611bb 100644 --- a/.github/workflows/ci-expanded.yml +++ b/.github/workflows/ci-expanded.yml @@ -7,7 +7,8 @@ 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 }} @@ -34,6 +35,8 @@ jobs: gnu: + if: github.event_name != 'pull_request' || github.event.action != 'closed' + strategy: fail-fast: false @@ -634,6 +637,8 @@ jobs: if-no-files-found: warn cmake: + if: github.event_name != 'pull_request' || github.event.action != 'closed' + strategy: fail-fast: false @@ -1234,6 +1239,8 @@ jobs: if-no-files-found: warn presets: + if: github.event_name != 'pull_request' || github.event.action != 'closed' + strategy: fail-fast: false @@ -1757,6 +1764,8 @@ jobs: if-no-files-found: warn msvc: + if: github.event_name != 'pull_request' || github.event.action != 'closed' + strategy: fail-fast: false diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f1071ae3..10413e00 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,7 +7,11 @@ 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 }} @@ -34,6 +38,8 @@ jobs: gnu: + if: github.event_name != 'pull_request' || github.event.action != 'closed' + strategy: fail-fast: false @@ -327,6 +333,8 @@ jobs: if-no-files-found: warn cmake: + if: github.event_name != 'pull_request' || github.event.action != 'closed' + strategy: fail-fast: false @@ -620,6 +628,8 @@ jobs: if-no-files-found: warn presets: + if: github.event_name != 'pull_request' || github.event.action != 'closed' + strategy: fail-fast: false @@ -871,6 +881,8 @@ jobs: if-no-files-found: warn msvc: + if: github.event_name != 'pull_request' || github.event.action != 'closed' + strategy: fail-fast: false