commit typeA commit that changes CI/CD pipeline configuration files and scripts: GitHub Actions, GitLab CI, CircleCI, Dockerfile, or deployment scripts.
ci(scope): short imperative description of the pipeline change
- what workflow, job, or step was added or modified (bullet 1)
- what trigger or condition was changed (bullet 2)
- any performance or reliability improvement (bullet 3)
Why the CI change was necessary: new requirement, flaky test fix,
cost reduction, or environment update. Max 72 chars/line.ci(github-actions): add release workflow with semantic-release
- add .github/workflows/release.yml triggered on push to main
- configure semantic-release with @semantic-release/github and npm plugins
- add GITHUB_TOKEN and NPM_TOKEN to required workflow secrets
Releases were manual and inconsistent; semantic-release derives the next
version from commit history and publishes automatically on every main push.ci(test): split unit and integration tests into parallel jobs
- add unit-tests and integration-tests jobs that run concurrently
- move db setup and migrations to integration-tests job only
- reduce total CI time from 8m to 3m on typical PRs
Unit tests were blocked on database setup even though they do not use the
db; parallelising them removes the unnecessary dependency.ci(docker): switch base image from node:18 to node:20-alpine
- update Dockerfile FROM to node:20-alpine
- pin to node:20.14.0-alpine3.19 for reproducible builds
- remove manual SSL cert update step no longer needed in alpine 3.19
node:18 reaches end of life in April 2025; alpine base reduces the
final image from 1.1GB to 210MB.ci(dependabot): add weekly dependency update schedule for npm and actions
- add .github/dependabot.yml with package-ecosystem: npm and github-actions
- set schedule to weekly on Monday at 09:00 UTC
- add reviewers and labels for automated triage
Dependencies were only updated manually when a vulnerability was reported;
automated PRs ensure routine updates surface before they accumulate.Use ci for changes to pipeline definition files, Dockerfiles, deployment scripts, and CI configuration. If the change also modifies application source code, consider splitting it.
git-agent automatically analyzes your changes and infers the correct commit type.
brew install gitagenthq/tap/git-agentWhat is the difference between ci and chore for pipeline changes?Should Dockerfile changes use ci or chore?Does ci appear in public changelogs?