fix(ci): grant the tag workflow's release job the permissions release.yml declares - #13
Open
TeddyHarnat wants to merge 1 commit into
Open
fix(ci): grant the tag workflow's release job the permissions release.yml declares#13TeddyHarnat wants to merge 1 commit into
TeddyHarnat wants to merge 1 commit into
Conversation
….yml declares A workflow called via workflow_call cannot exceed its caller job's permissions grant. tag.yaml's release job granted only contents: write, while release.yml declares id-token: write and attestations: write for provenance attestation, so every workflow_dispatch of 'Tag a Release' failed at startup with no jobs or logs. The manual tag-push path was unaffected because it triggers release.yml directly with its own permissions, which is why v0.3.0 released fine by hand. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
SpencerC
approved these changes
Sep 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What & why
The "Tag a Release"
workflow_dispatchhas never worked: run 33897671351 (its first-ever dispatch) died in 4s withstartup_failure— no jobs, no logs. The cause is GitHub's reusable-workflow permissions cap: a workflow called viaworkflow_callcannot exceed its caller job's permissions grant.tag.yaml'sreleasejob granted onlycontents: write, whilerelease.ymldeclaresid-token: writeandattestations: writefor provenance attestation, so the dispatch fails validation at startup.This never surfaced before because v0.3.0 was cut through the documented fallback — pushing the tag by hand — which triggers
release.ymldirectly under its own top-level permissions.Fix: grant the
releasejob intag.yamlthe same three permissionsrelease.ymldeclares, with a comment explaining the subset rule so the next permission added torelease.ymlgets mirrored.Checklist
bazel test //flutter/tests:all_tests //docs:update_testspasses — not run: CI-workflow-only change, no Bazel targets affectedcd e2e/smoke && bazel test //:integration_testspasses (if behavior changed) — no build behavior changebazel run //docs:updateif any rule/macro API changed — no API changepre-commit run --all-files(buildifier + prettier) — actionlint passes on the edited workflow; no Starlark touched