Contributing
July 30, 2026 ยท View on GitHub
Setup
- Install Node.js 24 or newer.
- Install dependencies:
npm ci
If you are bootstrapping from scratch and no lockfile exists yet, run npm install once, then commit the generated package-lock.json.
Build
Compile TypeScript:
npm run build
Bundle the action dist/ entrypoints for GitHub Actions:
npm run bundle
That command produces dist/index.cjs, which is used for both the main action and
the post-step cache save.
The generated dist/ files must be committed, because GitHub Actions consumers run the checked-in dist/ output directly.
Test
Run the unit tests:
npm test
This runs the TypeScript tests directly with Vitest.
Validate
Run the action repo checks locally:
npm test
npm run bundle
git diff --stat
git diff should only show the source and generated dist/ changes you intend to release.
Release
- Make the source changes.
- Run
npm ci. - Run
npm test. - Run
npm run bundle. - Commit both source files and the generated
dist/output. - Push the commit to
main. - Open the
Releaseworkflow in GitHub Actions and run it manually with the desired version, for examplev1.2.0or1.2.0. - The workflow re-runs validation, creates the GitHub Release with generated notes, and creates the corresponding Git tag from the current
maincommit.
You do not need to create or push the version tag manually; the workflow does that via GitHub when it creates the release.