Contributing to setup-chrome
April 29, 2026 · View on GitHub
Thank you for your interest in contributing!
Development Setup
Prerequisites: Node.js ≥ 24, pnpm
# Install dependencies
pnpm install
Development Workflow
# Lint (CI mode, no auto-fix)
pnpm lint
# Lint with auto-fix
pnpm lint:fix
# Run unit tests
pnpm test
# Run tests with verbose output
pnpm test -- --reporter=verbose
# Run a single test file
npx vitest run __test__/<file>.test.ts
# Build (compiles TypeScript → dist/index.js via @vercel/ncc)
pnpm build
# Package (copies action.yml + README.md into dist/)
pnpm package
Submitting Changes
- Fork the repository and create a branch from
master. - Make your changes with tests where applicable.
- Run
pnpm lintandpnpm testto verify everything passes. - Open a pull request against
master.
Important: All commit messages must follow Conventional Commits — this is required for the automated release process to correctly determine version bumps and generate changelog entries.
Examples:
fix: handle missing chromedriver binary on Windowsfeat: add support for chrome-version input aliaschore: update dependencies
Release Process
Releases are automated with Release Please:
- Merge changes to
masterfollowing Conventional Commits. - Release Please opens or updates a release PR with version bumps and changelog updates.
- Squash and merge the release PR.
- CI builds
dist/, pushes it to thelatestbranch, and creates signedvXandvX.Y.Ztags.
Note: Never commit generated
dist/files to the source branch — they are built and published automatically by CI.