Repository keeps a changelog
docs/changelog@v1
The repository carries a changelog, so what changed between two releases is written down rather than reconstructed from commits.
| Id | docs/changelog |
| Version | v1 |
| Category | docs |
| Default severity | info |
| Interpreter | python3 |
| Timeout | 30 seconds |
| Violations tolerated | 0 |
| Collects | files |
Collectors
This guardrail gathers nothing itself. It depends on the collectors below, which the CLI runs once per build before any check, and reads what they found out of GUARDRAIL_FACTS. A collector that collects nothing skips this guardrail rather than failing it.
| Collector | Gathers | Inputs it is given |
|---|---|---|
files | Presence, size and line counts of the well known files a repository is expected to carry, plus any extra path the guardrail asks for. | path |
The inputs above are this guardrail's own, passed straight through. Configuring one in buildnote.json changes what is collected, and two guardrails configured the same way share the one collection.
Configuration
{
"guardrails": {
"failOn": "error",
"comment": true,
"checks": [
{
"use": "docs/changelog@v1",
"severity": "info",
"with": {
"path": "CHANGELOG.md",
"minLines": "5"
},
"exemptions": []
}
]
}
}Inputs
| Input | Description | Default | Environment variable |
|---|---|---|---|
path | Path to the changelog, relative to the directory the CLI runs in. | CHANGELOG.md | GUARDRAIL_INPUT_PATH |
minLines | How many non-blank lines it must have before it counts as kept. | 5 | GUARDRAIL_INPUT_MINLINES |
How to fix
Add a CHANGELOG.md at the repository root and add to it as you release:
# Changelog
## 1.4.0
### Added
- Token rotation on the public API.
### Fixed
- Expired sessions were accepted for one further request.See Keep a Changelog. The commit log is not a changelog: it is written for the person making the change, and the changelog is written for the person consuming it.
More in docs
docs/agent-instructions. The repository carries an agent instruction file, and it is long enough to say something and short enough to be read.docs/code-of-conduct. The repository carries aCODE_OF_CONDUCT.md, so the standard contributors are held to is written down and so is who enforces it.docs/contributing. The repository carries aCONTRIBUTING.mdsaying how a change is proposed, built and reviewed.docs/license-present. The repository carries a licence file, so what may be done with the code is written down rather than assumed.docs/readme. The repository has a README, and it says more than its title.docs/security-policy. The repository carries aSECURITY.mdnaming where a security problem should be reported.