Skip to content

ci: lint workflow files with actionlint - #282

Merged
winsznx merged 1 commit into
winsznx:mainfrom
jadonamite:fix/issue-264-actionlint-ci
Aug 30, 2026
Merged

ci: lint workflow files with actionlint#282
winsznx merged 1 commit into
winsznx:mainfrom
jadonamite:fix/issue-264-actionlint-ci

Conversation

@jadonamite

Copy link
Copy Markdown
Contributor

Problem

.github/workflows/*.yml is the only code in the repo with no automated checking at all. PR #255 removed contents: write and pull-requests: write from release.yml in the same rewrite that added a watchdog calling gh with no GH_TOKEN set — every Release run failed until #225 caught up three changesets late. A linter would have caught the missing GH_TOKEN outright.

Fix

  • Add actionlint as a CI job.
  • Add a narrow guard asserting release.yml still declares contents: write and pull-requests: write, since that specific regression has now cost two outages.

Closes #264

.github/workflows/*.yml was the only code in the repo with no automated
checking. PR winsznx#255 removed contents: write and pull-requests: write from
release.yml in the same rewrite that added a watchdog calling gh with no
GH_TOKEN set -- every Release run failed until winsznx#225 caught up three
changesets late. A linter would have caught the missing GH_TOKEN outright.

Add actionlint as a CI job, plus a narrow guard asserting release.yml
still declares contents: write and pull-requests: write, since that
specific regression has now cost two outages.

Closes winsznx#264
@drips-wave

drips-wave Bot commented Aug 30, 2026

Copy link
Copy Markdown

@jadonamite Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@winsznx
winsznx merged commit 9ed890d into winsznx:main Aug 30, 2026
9 checks passed
winsznx added a commit that referenced this pull request Aug 30, 2026
The guard added in #282 grepped for the substrings "contents: write"
and "pull-requests: write". Both also appear in the explanatory comments
directly above the permissions block in release.yml:

  10: # contents: write  — changesets commits the version bump
  11: # pull-requests: write — changesets opens/updates the release PR
  14:   contents: write
  15:   pull-requests: write

So the guard passed on the comments alone. Deleting the actual
permissions block — the exact #255 regression it exists to catch — would
not have tripped it.

Anchored to indented YAML keys instead. Verified both directions: passes
against the real file, and fires when the block is stripped while the
comments remain.
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.

Nothing validates workflow files — a PR silently removed the permissions that make releases work

2 participants