Skip to content

ci(release): grant actions:write to the dylint call on the release path - #1754

Merged
zackees merged 1 commit into
mainfrom
ci/release-dylint-permissions
Oct 27, 2026
Merged

zackees merged 1 commit into
mainfrom
ci/release-dylint-permissions

Conversation

@zackees

@zackees zackees commented Oct 27, 2026

Copy link
Copy Markdown
Member

Every release-auto.yml dispatch fails with startup_failure (run 40425964410, candidate ecdba194 for 2.5.46).

Cause: #1749 / GEN-022 added queue-cache-janitor to dylint.yml with permissions: actions: write. release-auto → ci-full → dylint grants only contents: read, and a called workflow may not request more than its caller grants.

Fix: grant contents: read + actions: write on the two caller jobs only: release-auto full-ci and ci-full dylint.

Verified: a release-auto dry run dispatched from this branch (run 40426132784) starts with jobs, where main fails at startup.

dylint.yml's merge-queue cache janitor (GEN-022) declares actions: write.
release-auto -> ci-full -> dylint grants only contents: read, so every
release-auto dispatch now fails with startup_failure (run 40425964410).
Scope the extra permission to the two caller jobs.
@coderabbitai

coderabbitai Bot commented Oct 27, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

Run configuration

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@zackees
zackees merged commit af408ea into main Oct 27, 2026
122 of 136 checks passed
@zackees
zackees deleted the ci/release-dylint-permissions branch October 27, 2026 00:29
@fastled-project-sync fastled-project-sync Bot moved this to Triage in FastLED Tracker Oct 27, 2026
zackees added a commit that referenced this pull request Oct 27, 2026
* fix(ci): move the dylint caller grant into the workflow SOT

#1754 hand-edited the rendered .github/workflows/ci-full.yml, so the CI
Workflow Drift job fails on main (`render_workflows.py --check`: ci-full.yml
is out of sync with the SOT). Emit the `contents: read` + `actions: write`
grant from ci/render_workflows.py instead, which regenerates the same file.

Add a regression test that walks every `uses: ./.github/workflows/*.yml`
edge and asserts the callee never requests more than the caller grants.
GitHub enforces that at run startup, so the failure mode is the whole
release run dying with no job ever starting (release-auto 40425964410).

* test(ci): keep the permission guard inside the complexity ratchet

The guard method hit C901 (12 > 10) in `ci/check_python_complexity.py`,
which is what failed `linux / Check (ubuntu-latest)` on #1755. Move the
walk into module-level helpers; the test method is now three lines.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Triage

Development

Successfully merging this pull request may close these issues.

1 participant