Skip to content

ci: run generate-idl before verified build#70

Merged
dev-jodee merged 1 commit intomainfrom
ci/fix-release-idl-target-perms
Apr 30, 2026
Merged

ci: run generate-idl before verified build#70
dev-jodee merged 1 commit intomainfrom
ci/fix-release-idl-target-perms

Conversation

@dev-jodee
Copy link
Copy Markdown
Collaborator

Summary

  • Reorder Generate IDL to run before Build verified program in release.yml.
  • Fixes the release workflow failing at Generate IDL with Permission denied when creating target/debug.

Root Cause

solana-developers/github-actions/build-verified runs solana-verify inside a Docker container as root, leaving target/ root-owned on the runner. The next step (Generate IDLcargo check as the runner user) cannot create target/debug and fails with os error 13.

The subscriptions/subscriptions segment in the error path is the standard GitHub Actions checkout layout (/home/runner/work/<repo>/<repo>/), not a duplicated path bug.

IDL generation has no dependency on the verified .so artifact, so swapping the order is safe and avoids a sudo chown workaround tied to action internals.

Test Plan

  • Trigger Release workflow manually against devnet from this branch.
  • Confirm Generate IDL step succeeds and produces idl/subscriptions.json.
  • Confirm Build verified program and Write program buffer continue to succeed.

Failing run for reference: https://github.com/solana-program/subscriptions/actions/runs/25178325752

The build-verified action runs solana-verify inside a Docker container as
root, leaving the workspace target/ directory root-owned. The subsequent
Generate IDL step (cargo check as the runner user) then failed with
"Permission denied (os error 13)" trying to create target/debug.

Reorder so IDL generation runs before the Docker build. IDL generation has
no dependency on the verified .so artifact, so the swap is safe and
avoids a sudo chown workaround.
@dev-jodee dev-jodee merged commit 7971650 into main Apr 30, 2026
8 checks passed
@dev-jodee dev-jodee deleted the ci/fix-release-idl-target-perms branch April 30, 2026 17:10
@github-actions
Copy link
Copy Markdown

Compute Unit Report

Instruction Samples Min CUs Max CUs Avg CUs Est Cost (Low) [SOL] Est Cost (Med) [SOL] Est Cost (High) [SOL]
cancel_subscription 11 1805 2118 2003 0.000005000 0.000005080 0.000006001
close_subscription_authority 7 1881 1916 1886 0.000005000 0.000005075 0.000005943
create_fixed_delegation 38 3616 12621 5111 0.000005001 0.000005204 0.000007555
create_plan 84 3540 12553 5043 0.000005001 0.000005201 0.000007521
create_recurring_delegation 27 3640 11145 5146 0.000005001 0.000005205 0.000007573
delete_plan 8 416 416 416 0.000005000 0.000005016 0.000005208
init_subscription_authority 142 9351 25851 12205 0.000005003 0.000005488 0.000011102
revoke_delegation 19 318 585 420 0.000005000 0.000005016 0.000005210
subscribe 21 6666 14166 8247 0.000005002 0.000005329 0.000009123
transfer_fixed 6 10102 13105 11354 0.000005003 0.000005454 0.000010677
transfer_recurring 17 10212 13212 11307 0.000005003 0.000005452 0.000010653
transfer_subscription 10 10495 16446 12300 0.000005003 0.000005492 0.000011150
update_plan 21 424 500 474 0.000005000 0.000005018 0.000005237

Generated: 2026-04-30

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant