From ef708f76d22ac04c84f3d696d0669c6fdba76215 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 | 86 +++++++++++++++++++++---------- .github/workflows/ci.yml | 34 +++++++++++- 2 files changed, 90 insertions(+), 30 deletions(-) diff --git a/.github/workflows/ci-expanded.yml b/.github/workflows/ci-expanded.yml index 17b5cb0a..96b58620 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 @@ -945,6 +966,7 @@ jobs: fi - name: Checkout repository [libbitcoin-system] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -953,6 +975,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 @@ -961,6 +984,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 @@ -1112,7 +1136,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 +1147,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 +1158,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 +1169,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 +1179,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 +1189,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 +1199,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 +1209,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 +1219,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 +1229,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 +1239,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 +1249,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 +1259,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 +1269,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 +1279,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 +1289,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 +1299,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 +1309,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 +1319,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 +1329,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 +1340,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 +1351,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 +1362,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 +1373,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 +1384,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 +1395,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 +1406,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 +1417,7 @@ jobs: package: "g++-16 gcc-16" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" runs-on: ${{ matrix.image }} @@ -1414,6 +1438,7 @@ jobs: fi - name: Checkout repository [libbitcoin-system] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -1422,6 +1447,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 @@ -1430,6 +1456,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 @@ -1610,6 +1637,7 @@ jobs: msbuild-architecture: x64 - name: Checkout repository [libbitcoin-system] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -1618,6 +1646,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 @@ -1626,6 +1655,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 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d6439065..85883352 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 @@ -331,6 +352,7 @@ jobs: fi - name: Checkout repository [libbitcoin-system] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -339,6 +361,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 @@ -347,6 +370,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 @@ -497,7 +521,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 +531,7 @@ jobs: coverage: "" boost: "--build-boost" secp256k1: "--build-secp256k1" - options: "" + options: "--build-skip-tests" runs-on: ${{ matrix.image }} @@ -528,6 +552,7 @@ jobs: fi - name: Checkout repository [libbitcoin-system] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -536,6 +561,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 @@ -544,6 +570,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 @@ -712,6 +739,7 @@ jobs: msbuild-architecture: x64 - name: Checkout repository [libbitcoin-system] + continue-on-error: true uses: actions/checkout@v6 with: fetch-depth: 1 @@ -720,6 +748,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 @@ -728,6 +757,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 From c8519c776b41d9b46a6407c03b0cf57b95801fc4 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 | 112 ++++++++++++++++++++++++++++++ .github/workflows/ci.yml | 112 ++++++++++++++++++++++++++++++ .gitignore | 5 ++ 3 files changed, 229 insertions(+) diff --git a/.github/workflows/ci-expanded.yml b/.github/workflows/ci-expanded.yml index 96b58620..e3486c2d 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,13 +467,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 @@ -966,6 +995,7 @@ jobs: fi - name: Checkout repository [libbitcoin-system] + id: checkout-libbitcoin-system continue-on-error: true uses: actions/checkout@v6 with: @@ -974,7 +1004,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: @@ -983,7 +1022,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: @@ -992,13 +1040,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 @@ -1438,6 +1496,7 @@ jobs: fi - name: Checkout repository [libbitcoin-system] + id: checkout-libbitcoin-system continue-on-error: true uses: actions/checkout@v6 with: @@ -1446,7 +1505,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: @@ -1455,7 +1523,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: @@ -1464,13 +1541,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 @@ -1637,6 +1724,7 @@ jobs: msbuild-architecture: x64 - name: Checkout repository [libbitcoin-system] + id: checkout-libbitcoin-system continue-on-error: true uses: actions/checkout@v6 with: @@ -1645,7 +1733,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: @@ -1654,7 +1750,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: @@ -1663,7 +1767,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 85883352..c716d693 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,13 +160,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 @@ -352,6 +381,7 @@ jobs: fi - name: Checkout repository [libbitcoin-system] + id: checkout-libbitcoin-system continue-on-error: true uses: actions/checkout@v6 with: @@ -360,7 +390,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: @@ -369,7 +408,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: @@ -378,13 +426,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 @@ -552,6 +610,7 @@ jobs: fi - name: Checkout repository [libbitcoin-system] + id: checkout-libbitcoin-system continue-on-error: true uses: actions/checkout@v6 with: @@ -560,7 +619,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: @@ -569,7 +637,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: @@ -578,13 +655,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 @@ -739,6 +826,7 @@ jobs: msbuild-architecture: x64 - name: Checkout repository [libbitcoin-system] + id: checkout-libbitcoin-system continue-on-error: true uses: actions/checkout@v6 with: @@ -747,7 +835,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: @@ -756,7 +852,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: @@ -765,7 +869,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 From 7e3bd45a10c2ecbc386e47bb12bee173a097d5bc 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 e3486c2d..94eb7f25 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 @@ -607,6 +610,8 @@ jobs: if-no-files-found: warn cmake: + if: github.event_name != 'pull_request' || github.event.action != 'closed' + strategy: fail-fast: false @@ -1180,6 +1185,8 @@ jobs: if-no-files-found: warn presets: + if: github.event_name != 'pull_request' || github.event.action != 'closed' + strategy: fail-fast: false @@ -1676,6 +1683,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 c716d693..c750e0e6 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 @@ -300,6 +306,8 @@ jobs: if-no-files-found: warn cmake: + if: github.event_name != 'pull_request' || github.event.action != 'closed' + strategy: fail-fast: false @@ -566,6 +574,8 @@ jobs: if-no-files-found: warn presets: + if: github.event_name != 'pull_request' || github.event.action != 'closed' + strategy: fail-fast: false @@ -790,6 +800,8 @@ jobs: if-no-files-found: warn msvc: + if: github.event_name != 'pull_request' || github.event.action != 'closed' + strategy: fail-fast: false