Skip to content

ci: centralize workflow setup and pin actions to SHAs - #243

Merged
iamfj merged 1 commit into
nextfrom
ci-audit-refactor
Jul 2, 2026
Merged

ci: centralize workflow setup and pin actions to SHAs#243
iamfj merged 1 commit into
nextfrom
ci-audit-refactor

Conversation

@iamfj

@iamfj iamfj commented Jul 2, 2026

Copy link
Copy Markdown
Member

What does this PR do?

Extracts the repeated checkout/setup/install/build boilerplate across all workflows into a single composite action (.github/actions/setup), with the default Node version now sourced from a new .nvmrc. Pins all third-party actions to commit SHAs (with version comments) instead of floating tags, adds an actionlint job, and runs unit tests on a Node 22/24 matrix instead of 22 only. Moves the prepare npm script into scripts/prepare.mjs, which skips codegen and lefthook install under CI so npm ci no longer hits the live Linear GraphQL API on every job, and drops the now-redundant renovate.json override for pinning release-publish to a minimum Node version.

Type of change

  • Bug fix
  • New feature
  • Refactor (no behavior change)
  • Documentation
  • Tests
  • Build / CI

Checklist

  • npm run check:ci passes (lint + format)
  • npx tsc --noEmit passes (type check)
  • npm test passes (unit tests)
  • New code has tests (happy path + primary error case)
  • Commit messages follow Conventional Commits

Testing

CI on this PR exercises the new composite action and actionlint job directly.

Notes for reviewers

Draft PR — CI workflow/audit refactor, no application code changes.

Extract the checkout-adjacent Node setup/install/build boilerplate
repeated across every workflow into a single composite action
(.github/actions/setup), with Node version sourced from a new
.nvmrc. Pin all third-party actions to commit SHAs (with version
comments) instead of floating tags, add an actionlint job, and run
unit tests on a Node 22/24 matrix instead of 22 only.

Move the prepare npm script into scripts/prepare.mjs, which skips
codegen and lefthook install under CI so npm ci no longer hits the
live Linear GraphQL API on every job. Drop the now-redundant
renovate.json override that pinned release-publish to a minimum
Node version.
@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown

✅ knip — no dead code

No unused files, exports, types, or dependencies detected.

@iamfj
iamfj marked this pull request as ready for review July 2, 2026 18:23
@iamfj
iamfj merged commit ce32f32 into next Jul 2, 2026
21 checks passed
@iamfj
iamfj deleted the ci-audit-refactor branch July 2, 2026 18:24
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