diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 50d9996..6780caa 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: @@ -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 @@ -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: solana-developers/github-actions/prepare-squads-release@b480a01c45f5670da8e9d76fa03d30d9deb7153d 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 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 + else + echo "- Buffer: \`${{ steps.write-buffer.outputs.buffer }}\`" >> $GITHUB_STEP_SUMMARY fi