From 9ad8daece15c802a945ce93b6a19ca74af43159b Mon Sep 17 00:00:00 2001 From: Jo D Date: Tue, 19 May 2026 13:26:21 -0400 Subject: [PATCH 1/8] ci: test squads release action --- .github/workflows/release.yml | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 50d9996..93364bf 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -76,6 +76,7 @@ jobs: program: ${{ env.PROGRAM }} - id: write-buffer + if: inputs.network == 'devnet' name: Write program buffer uses: solana-developers/github-actions/write-program-buffer@eb606791e11d06eb92593dfd3404bf0d4c809121 with: @@ -83,7 +84,7 @@ jobs: program-id: ${{ env.PROGRAM_ID }} rpc-url: ${{ env.RPC_URL }} keypair: ${{ env.DEPLOYER_KEYPAIR }} - buffer-authority-address: ${{ inputs.network == 'mainnet' && env.SQUADS_VAULT || steps.deployer.outputs.pubkey }} + buffer-authority-address: ${{ steps.deployer.outputs.pubkey }} priority-fee: ${{ inputs.priority-fee }} # ============================================ @@ -113,15 +114,20 @@ jobs: # mainnet: prepare Squads-owned buffers # ============================================ - if: inputs.network == 'mainnet' - id: metadata-buffer - name: Write IDL metadata buffer (mainnet) - uses: solana-developers/github-actions/write-metadata-buffer@eb606791e11d06eb92593dfd3404bf0d4c809121 + id: prepare-squads-release + name: Prepare Squads release buffers (mainnet) + uses: dev-jodee/github-actions/prepare-squads-release@846ab7323c93503ea7b8634fc313313726b83afa with: - idl-path: idl/subscriptions.json + program: ${{ env.PROGRAM }} + program-id: ${{ env.PROGRAM_ID }} rpc-url: ${{ env.RPC_URL }} keypair: ${{ env.DEPLOYER_KEYPAIR }} - buffer-authority: ${{ env.SQUADS_VAULT }} - priority-fees: ${{ inputs.priority-fee }} + squads-vault: ${{ env.SQUADS_VAULT }} + metadata-path: idl/subscriptions.json + priority-fee: ${{ inputs.priority-fee }} + export-verify-pda: 'true' + repo-url: ${{ env.REPO_URL }} + commit-hash: ${{ github.sha }} - if: inputs.network == 'mainnet' name: Confirm mainnet buffer handoff @@ -140,10 +146,13 @@ jobs: echo "" >> $GITHUB_STEP_SUMMARY echo "- Program: \`${{ env.PROGRAM_ID }}\`" >> $GITHUB_STEP_SUMMARY echo "- Commit: \`${{ github.sha }}\`" >> $GITHUB_STEP_SUMMARY - echo "- Buffer: \`${{ steps.write-buffer.outputs.buffer }}\`" >> $GITHUB_STEP_SUMMARY if [ "${{ inputs.network }}" = "mainnet" ]; then - echo "- IDL buffer: \`${{ steps.metadata-buffer.outputs.buffer }}\`" >> $GITHUB_STEP_SUMMARY + echo "- Buffer: \`${{ steps['prepare-squads-release'].outputs.buffer }}\`" >> $GITHUB_STEP_SUMMARY + echo "- IDL buffer: \`${{ steps['prepare-squads-release'].outputs['metadata-buffer'] }}\`" >> $GITHUB_STEP_SUMMARY + echo "- Verify PDA transaction: \`${{ steps['prepare-squads-release'].outputs['pda-tx'] }}\`" >> $GITHUB_STEP_SUMMARY echo "- Buffer authority: \`${{ env.SQUADS_VAULT }}\`" >> $GITHUB_STEP_SUMMARY echo "- **Action required**: create the Squads upgrade proposal using the listed buffers" >> $GITHUB_STEP_SUMMARY echo "- CI keypair role: fee payer and buffer writer only; it does not need Squads membership" >> $GITHUB_STEP_SUMMARY + else + echo "- Buffer: \`${{ steps.write-buffer.outputs.buffer }}\`" >> $GITHUB_STEP_SUMMARY fi From 33c0437820bf81766b3dc8f9507c1a88bf7f3eb9 Mon Sep 17 00:00:00 2001 From: Jo D Date: Wed, 20 May 2026 08:52:53 -0400 Subject: [PATCH 2/8] ci: use debug squads release action --- .github/workflows/release.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 93364bf..f697a58 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -30,7 +30,7 @@ jobs: release: name: Release ${{ inputs.network }} runs-on: ubuntu-latest - timeout-minutes: 60 + timeout-minutes: 120 steps: - uses: actions/checkout@v6 with: @@ -116,7 +116,7 @@ jobs: - if: inputs.network == 'mainnet' id: prepare-squads-release name: Prepare Squads release buffers (mainnet) - uses: dev-jodee/github-actions/prepare-squads-release@846ab7323c93503ea7b8634fc313313726b83afa + uses: dev-jodee/github-actions/prepare-squads-release@c759fc72445a201cdba17ea652a803b81c2553db with: program: ${{ env.PROGRAM }} program-id: ${{ env.PROGRAM_ID }} @@ -125,6 +125,10 @@ jobs: squads-vault: ${{ env.SQUADS_VAULT }} metadata-path: idl/subscriptions.json priority-fee: ${{ inputs.priority-fee }} + program-buffer-max-sign-attempts: '80' + program-buffer-write-timeout-minutes: '80' + program-buffer-retry-timeout-minutes: '85' + program-buffer-retry-attempts: '1' export-verify-pda: 'true' repo-url: ${{ env.REPO_URL }} commit-hash: ${{ github.sha }} From ffa8ce02a43cad4e6dc026a252e90238a466d80c Mon Sep 17 00:00:00 2001 From: Jo D Date: Wed, 20 May 2026 09:45:26 -0400 Subject: [PATCH 3/8] ci: point squads release test at debug action --- .github/workflows/release.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f697a58..bb461ef 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -116,7 +116,7 @@ jobs: - if: inputs.network == 'mainnet' id: prepare-squads-release name: Prepare Squads release buffers (mainnet) - uses: dev-jodee/github-actions/prepare-squads-release@c759fc72445a201cdba17ea652a803b81c2553db + uses: dev-jodee/github-actions/prepare-squads-release@d8eb51a3909f455c6b2132b1d0d9e7b98a231dcd with: program: ${{ env.PROGRAM }} program-id: ${{ env.PROGRAM_ID }} @@ -125,10 +125,8 @@ jobs: squads-vault: ${{ env.SQUADS_VAULT }} metadata-path: idl/subscriptions.json priority-fee: ${{ inputs.priority-fee }} - program-buffer-max-sign-attempts: '80' - program-buffer-write-timeout-minutes: '80' - program-buffer-retry-timeout-minutes: '85' - program-buffer-retry-attempts: '1' + program-buffer-max-sign-attempts: '20' + program-buffer-write-timeout-minutes: '15' export-verify-pda: 'true' repo-url: ${{ env.REPO_URL }} commit-hash: ${{ github.sha }} From 9d0ad77960bb41704be8b64f00473231c10f012d Mon Sep 17 00:00:00 2001 From: Jo D Date: Wed, 20 May 2026 10:26:02 -0400 Subject: [PATCH 4/8] ci: retry partial squads buffer writes --- .github/workflows/release.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index bb461ef..fe66da0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -116,7 +116,7 @@ jobs: - if: inputs.network == 'mainnet' id: prepare-squads-release name: Prepare Squads release buffers (mainnet) - uses: dev-jodee/github-actions/prepare-squads-release@d8eb51a3909f455c6b2132b1d0d9e7b98a231dcd + uses: dev-jodee/github-actions/prepare-squads-release@5211ef3784cf89d8bfa9bf2bbcd9c704220278cf with: program: ${{ env.PROGRAM }} program-id: ${{ env.PROGRAM_ID }} @@ -127,6 +127,7 @@ jobs: priority-fee: ${{ inputs.priority-fee }} program-buffer-max-sign-attempts: '20' program-buffer-write-timeout-minutes: '15' + program-buffer-retry-attempts: '4' export-verify-pda: 'true' repo-url: ${{ env.REPO_URL }} commit-hash: ${{ github.sha }} From 2dfe816ad7f57ead45d2a876e54334bce73cdb8b Mon Sep 17 00:00:00 2001 From: Jo D Date: Wed, 20 May 2026 11:45:52 -0400 Subject: [PATCH 5/8] ci: tune squads release buffer write --- .github/workflows/release.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fe66da0..0c10bb7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -116,7 +116,7 @@ jobs: - if: inputs.network == 'mainnet' id: prepare-squads-release name: Prepare Squads release buffers (mainnet) - uses: dev-jodee/github-actions/prepare-squads-release@5211ef3784cf89d8bfa9bf2bbcd9c704220278cf + uses: dev-jodee/github-actions/prepare-squads-release@5119dacc0f2af4880ceb8fd2406158d979b38d0c with: program: ${{ env.PROGRAM }} program-id: ${{ env.PROGRAM_ID }} @@ -125,9 +125,10 @@ jobs: squads-vault: ${{ env.SQUADS_VAULT }} metadata-path: idl/subscriptions.json priority-fee: ${{ inputs.priority-fee }} - program-buffer-max-sign-attempts: '20' - program-buffer-write-timeout-minutes: '15' - program-buffer-retry-attempts: '4' + program-buffer-max-sign-attempts: '100' + program-buffer-write-timeout-minutes: '55' + program-buffer-retry-attempts: '1' + program-buffer-use-rpc: 'false' export-verify-pda: 'true' repo-url: ${{ env.REPO_URL }} commit-hash: ${{ github.sha }} From cd1567cd4476550c0cafee343158f7466a57d00c Mon Sep 17 00:00:00 2001 From: Jo D Date: Wed, 20 May 2026 12:13:32 -0400 Subject: [PATCH 6/8] ci: pin metadata buffer action fix --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0c10bb7..57b25e7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -116,7 +116,7 @@ jobs: - if: inputs.network == 'mainnet' id: prepare-squads-release name: Prepare Squads release buffers (mainnet) - uses: dev-jodee/github-actions/prepare-squads-release@5119dacc0f2af4880ceb8fd2406158d979b38d0c + uses: dev-jodee/github-actions/prepare-squads-release@46df7c5278561de5967cb5878e6eff2a531a8064 with: program: ${{ env.PROGRAM }} program-id: ${{ env.PROGRAM_ID }} From 94463476c10d64b0da5675af3b028e2978befade Mon Sep 17 00:00:00 2001 From: Jo D Date: Wed, 20 May 2026 12:16:26 -0400 Subject: [PATCH 7/8] ci: fix squads action pin --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 57b25e7..2297a43 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -116,7 +116,7 @@ jobs: - if: inputs.network == 'mainnet' id: prepare-squads-release name: Prepare Squads release buffers (mainnet) - uses: dev-jodee/github-actions/prepare-squads-release@46df7c5278561de5967cb5878e6eff2a531a8064 + uses: dev-jodee/github-actions/prepare-squads-release@46df7c5ea1b1da3af494ab2d0a4ace694831c73a with: program: ${{ env.PROGRAM }} program-id: ${{ env.PROGRAM_ID }} From 924441b63b7fbd769ebd021a479ecb8ee1b4e382 Mon Sep 17 00:00:00 2001 From: Jo D Date: Wed, 20 May 2026 12:55:32 -0400 Subject: [PATCH 8/8] ci: clean up squads release workflow --- .github/workflows/release.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2297a43..852e7dc 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -65,7 +65,7 @@ jobs: echo "pubkey=$PUBKEY" >> "$GITHUB_OUTPUT" - name: Configure Solana CLI - run: solana config set --url "$RPC_URL" --keypair "$HOME/.config/solana/id.json" + run: solana config set --url "$RPC_URL" --keypair "$HOME/.config/solana/id.json" > /dev/null - name: Generate IDL run: just generate-idl @@ -125,10 +125,6 @@ jobs: squads-vault: ${{ env.SQUADS_VAULT }} metadata-path: idl/subscriptions.json priority-fee: ${{ inputs.priority-fee }} - program-buffer-max-sign-attempts: '100' - program-buffer-write-timeout-minutes: '55' - program-buffer-retry-attempts: '1' - program-buffer-use-rpc: 'false' export-verify-pda: 'true' repo-url: ${{ env.REPO_URL }} commit-hash: ${{ github.sha }} @@ -153,7 +149,7 @@ jobs: if [ "${{ inputs.network }}" = "mainnet" ]; then echo "- Buffer: \`${{ steps['prepare-squads-release'].outputs.buffer }}\`" >> $GITHUB_STEP_SUMMARY echo "- IDL buffer: \`${{ steps['prepare-squads-release'].outputs['metadata-buffer'] }}\`" >> $GITHUB_STEP_SUMMARY - echo "- Verify PDA transaction: \`${{ steps['prepare-squads-release'].outputs['pda-tx'] }}\`" >> $GITHUB_STEP_SUMMARY + echo "- Verify PDA transaction exported: \`true\`" >> $GITHUB_STEP_SUMMARY echo "- Buffer authority: \`${{ env.SQUADS_VAULT }}\`" >> $GITHUB_STEP_SUMMARY echo "- **Action required**: create the Squads upgrade proposal using the listed buffers" >> $GITHUB_STEP_SUMMARY echo "- CI keypair role: fee payer and buffer writer only; it does not need Squads membership" >> $GITHUB_STEP_SUMMARY