Skip to content

ci: stop grouping major bumps and let release PRs run their checks - #176

Merged
jeremymcs merged 2 commits into
mainfrom
chore/ci-config-fixes
Aug 18, 2026
Merged

ci: stop grouping major bumps and let release PRs run their checks#176
jeremymcs merged 2 commits into
mainfrom
chore/ci-config-fixes

Conversation

@jeremymcs

Copy link
Copy Markdown
Owner

Summary

Two configuration bugs were generating pull requests that could never merge. Both surfaced while clearing the current PR backlog.

Dependabot grouped every npm update under one * pattern. That produced #175: a single PR carrying ten major-version bumps. Three of them broke the build independently — typescript 5→7 (no released typescript-eslint supports TS 7; 8.67.0 still caps at <6.1.0, so npm ci failed peer resolution before any test ran), tailwindcss 3→4 (PostCSS plugin moved to @tailwindcss/postcss, config format changed), and zod 3→4 (.default({}) no longer typechecks against the PR work contract schema in shared/schema.ts). A batch like that is not reviewable or landable as one unit. The group now batches only minor and patch; majors arrive as individual PRs that can be migrated one at a time.

release-please ran with the default GITHUB_TOKEN. GitHub does not start workflow runs for pull requests opened with that token, so the required lint-and-test check never ran on a release PR — leaving every one of them permanently BLOCKED. #147 had been sitting in that state and needed an empty commit to nudge CI. Passing a PAT makes the PR author-created from Actions' point of view, which starts the checks normally.

Action required before this takes effect

The release-please half needs a repository secret named RELEASE_PLEASE_TOKEN — a PAT with contents: write and pull-requests: write. The expression is written as secrets.RELEASE_PLEASE_TOKEN || secrets.GITHUB_TOKEN, so the workflow keeps working unchanged until the secret exists; it simply keeps the old behavior until then.

Verification

  • Both YAML files parse (yaml.safe_load).
  • Config-only change: no application code touched, so the existing suites are unaffected.
  • The dependabot grouping change takes effect on its next scheduled run.

Related Issue

  • None

Two configuration bugs kept producing pull requests that could never merge.

Dependabot grouped every npm update under a single `*` pattern, so ten breaking
majors arrived as one PR (#175): tailwindcss 3->4, zod 3->4 and typescript
5->7 each broke the build on their own, and typescript 7 is not supported by
any released typescript-eslint. The group now batches only minor and patch
updates; majors come as individual PRs that can be reviewed and migrated one at
a time.

release-please ran with the default GITHUB_TOKEN. GitHub deliberately does not
start workflow runs for pull requests opened with that token, so the required
lint-and-test check never ran on a release PR and every one of them stayed
BLOCKED (#147 had to be nudged with an empty commit). Passing a PAT makes the
PR author-created from Actions' point of view, which starts the checks.

Requires a repository secret named RELEASE_PLEASE_TOKEN, a PAT with contents
and pull-requests write scope. The expression falls back to GITHUB_TOKEN so the
workflow keeps working until the secret exists.
@jeremymcs
jeremymcs merged commit a9acd56 into main Aug 18, 2026
8 checks passed
jeremymcs added a commit that referenced this pull request Aug 20, 2026
release-please still opens this PR with the default GITHUB_TOKEN, so GitHub does
not start workflow runs for it and the required lint-and-test check never runs.
The permanent fix landed in #176 but stays inert until a RELEASE_PLEASE_TOKEN
secret exists; until then each release PR needs one push from a user token.
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