| domain | operations |
|---|---|
| type | concept |
| owner | <!-- team/role that owns CI/CD --> |
| last_reviewed |
How this repository validates and ships changes, as actually configured under .github/workflows/ and .githooks/ today.
Runs on every push to main and every pull request targeting main. Three jobs, each on a fresh runner:
| Job | Purpose |
|---|---|
lint |
Runtime setup, dependency install, lint/type-check |
test |
Runtime setup, dependency install, test suite |
build |
Runs after lint and test pass; runtime setup, dependency install, build |
This workflow ships as a placeholder. Every step currently runs echo "Replace this step with..." instead of a real command. It is language-agnostic by construction: fill in the runtime-setup action (actions/setup-node, actions/setup-python, actions/setup-go, etc.) and the install/lint/test/build commands for your stack, then delete the template comment block at the top of the file.
Commit messages are validated against Conventional Commits twice, both reusing the exact same shell script (.githooks/commit-msg) so there is one source of truth for the rule rather than two that can drift apart:
- Locally: fast feedback if the contributor activated the hook (
git config core.hooksPath .githooks), but optional and easy to skip. - In CI, on every pull request, the
commitlint.ymlworkflow re-runs the same script against every commit in the PR, so a contributor who never activated the local hook is still caught before merge.
See Commit Conventions for the rule itself.
Triggered by pushing a tag matching v*.*.*. Creates a GitHub Release with auto-generated release notes from the commit history (generate_release_notes: true), so no manual changelog editing is required, provided commits follow the Conventional Commits format enforced above.
Two ecosystems are always active regardless of language: github-actions (workflow action versions) and docker, both checked monthly. Language-specific ecosystems (npm, pip, gomod, cargo, maven, gradle, composer, bundler) are present but commented out; uncomment the one matching this project's stack.
- Commit Conventions
- team-process/how-to/activate-git-hooks
- operations/runbooks
- Repository configuration, the default-branch ruleset requires the
lint/test/buildchecks defined here