Skip to content

ci: harden GitHub Actions pins and migrate changesets/action to v2 - #210

Merged
abbybowman merged 2 commits into
mainfrom
build/changesets-action-v2-and-comment-hygiene
Aug 26, 2026
Merged

ci: harden GitHub Actions pins and migrate changesets/action to v2#210
abbybowman merged 2 commits into
mainfrom
build/changesets-action-v2-and-comment-hygiene

Conversation

@abbybowman

Copy link
Copy Markdown
Contributor

What this PR does

Supersedes Dependabot #205, which bumped changesets/action across a major (v1 to v2.1.0) while leaving the invalid v1 inputs in place and mislabeling the SHA as "# v1" -- merging it as-is would have silently broken the release pipeline. This applies the correct v2 migration, tightens every SHA-pinned action comment to full semver so a future cross-major bump can't hide behind a stale label, and patches a transitive brace-expansion advisory. No effect on published CSS or the package.

Supersedes #205 (close unmerged once this lands). Related: #207 (cssnano) handled as a follow-on.

Type of change

  • Tooling or CI (no effect on published CSS)

How to review

Three independent, low-risk changes -- review each on its own:

  1. changesets/action v1 to v2 (release.yml): confirm the input renames match v2 (commit to commit-message, title to pr-title, GITHUB_TOKEN env moved to github-token input). Behavior is unchanged for our setup -- no publish-script means version-PR-only mode; create-github-releases and push-git-tags both default to false, so tagging/publishing stay owned by the separate publish job. Note: release.yml only runs on push to main, so it can't be exercised in PR CI; it validates on the next changeset that lands.
  2. Full-semver comment sweep (all workflows + composite setup action): SHA-only change to the trailing comments; every SHA is unchanged except the two intentional bumps. chromaui/action bumped to v18.4.0 (the safe half of build(deps): bump the actions group with 2 updates #205).
  3. brace-expansion patch (package-lock.json only): npm audit fix output, lockfile-only, no package.json change. npm audit --omit=dev was already clean, so adopters were never affected.

Before requesting review

  • npm run lint, npm run format, and npm test pass locally

Render-affecting and package-shipping sections: N/A. No changeset needed -- workflow YAML and dev-only lockfile changes don't ship in the package.

Notes for reviewers

Why manual instead of merging #205: Dependabot's SHA-pin comment rewriting keeps the granularity of the existing comment, so a major-only "# v1" comment survived a cross-major SHA bump -- the diff read as no-change while actually jumping to v2. Tightening all comments to full semver (task b) is the durable fix so this can't recur silently on future bumps.

Follow-on: #207 (cssnano 8.0.6) fails check:css-hash by design -- output-affecting Dependabot bumps can't self-update the CSS baseline and need a manual hash regen plus a Chromatic run. Handled in a separate branch.

…emver

Dependabot PR #205 bumped changesets/action across a major (v1 to v2.1.0) but left the invalid v1 inputs in place and mislabeled the SHA as "# v1", so merging it as-is would have silently broken the release pipeline. This supersedes #205 with the correct migration.

changesets/action v2 renamed the inputs this repo uses: commit becomes commit-message, title becomes pr-title, and the GITHUB_TOKEN env var is no longer accepted and must be passed via the github-token input. Behavior is otherwise unchanged for our setup: without a publish-script input the action stays in version-PR-only mode, and create-github-releases / push-git-tags both default to false, so tagging and publishing remain owned solely by the separate publish job.

Also bumps chromaui/action to v18.4.0 (the other half of #205, safe minor).

Separately, tighten every SHA-pinned action comment from major-only (# v7) to full semver (# v7.0.1) across all workflows and the composite setup action. The coarse comments are what let the v1-to-v2 jump hide behind a stale "# v1" label; full-version comments make a future cross-major Dependabot bump visible in the diff instead of silent.
npm audit flagged a high-severity ReDoS/DoS advisory in brace-expansion pulled in transitively by dev/build tooling (eslint, storybook, remark, npm internals). Production dependency tree is unaffected (npm audit --omit=dev reports zero), so nothing changes for adopters.

Lockfile-only change via npm audit fix (no --force): rewrites nested brace-expansion copies to patched versions across ten dependency paths. package.json is untouched; no direct dependency versions change.
@abbybowman
abbybowman merged commit 3ecf33f into main Aug 26, 2026
7 checks passed
@abbybowman
abbybowman deleted the build/changesets-action-v2-and-comment-hygiene branch August 26, 2026 13:43
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