build & ci: Build System and CI Changes

Learn when to use build and ci commit types. Covers build tool configuration, CI pipeline changes, Docker files, and the distinction between build, ci, and chore.

Type Examples

Detailed Explanation

The build and ci Commit Types

These two types cover infrastructure changes that support development and deployment but do not directly modify application code.

The build Type

Use build for changes to the build system, build configuration, or external dependencies that affect the build:

build: upgrade webpack to v5 with module federation
build(deps): add zod for runtime validation
build: configure path aliases in tsconfig

When to use build:

  • Modifying bundler configuration (webpack, Vite, Rollup, esbuild)
  • Changing compiler settings (tsconfig, babel)
  • Adding, removing, or updating runtime dependencies
  • Modifying build scripts in package.json
  • Updating Docker build files (Dockerfile)
  • Changing Makefile or similar build orchestration

The ci Type

Use ci for changes to CI/CD configuration files and scripts:

ci: add parallel test execution in GitHub Actions
ci(deploy): configure staging environment pipeline
ci: cache node_modules in CI for faster builds

When to use ci:

  • GitHub Actions workflow files (.github/workflows/)
  • Jenkins pipeline configuration (Jenkinsfile)
  • CircleCI, Travis CI, or GitLab CI configuration
  • Deployment scripts specific to CI environments
  • CI-specific Docker Compose files

build vs ci vs chore

Scenario Type
Update webpack config build
Add GitHub Actions workflow ci
Update .editorconfig chore
Add runtime dependency build
Add dev-only dependency chore or build
Modify Dockerfile build
Configure CI caching ci
Update .gitignore chore

Combined Changes

If a commit touches both build and CI configuration, choose the primary intent:

ci: add Docker-based CI pipeline

Add a multi-stage Dockerfile for CI builds and a
GitHub Actions workflow that builds, tests, and
deploys using the Docker image.

The Dockerfile is also usable for local development
via docker-compose.

Use Case

You have set up a new GitHub Actions workflow that builds your Docker image, runs tests in parallel, and deploys to a staging environment. The commit touches both a Dockerfile and a workflow YAML file. You need to choose the right commit type and write a message that explains the CI/CD pipeline changes.

Try It — Git Commit Message Generator

Open full tool