Release pipeline
Maintainer workflow for versioning docs-portal. Releases are tagged semver versions of the static site and sync framework — there is no package publish step.
Prerequisites
- Protected refs:
master,develop, tagsv*on GitLab VERSIONat repo root holds the current semver (kept in sync withpackage.json)CHANGELOG.mdfollows Keep a Changelog
Changelog policy
- Keep a single
## [Unreleased]section with### Added/### Changed/### Fixedbullets - Use
- (nothing yet)when a subsection has no entries - Write user-facing notes — do not dump raw commit lists
At release, python scripts/bump_release.py:
- moves
[Unreleased]notes into## [X.Y.Z] - YYYY-MM-DD - resets
[Unreleased]with placeholder bullets - updates footer compare/tag links
- updates
VERSION,package.json, and createschore(release): Bump version to X.Y.Z
Add --tag to create the annotated tag locally.
Release steps
- Land features on
develop; keepCHANGELOG.md[Unreleased]curated - Wait for green CI on
develop - Run
python scripts/bump_release.py(updates version files, finalizes changelog, commits) - Push
develop, ff-merge tomaster - Tag and push from
master:git push origin vX.Y.Z
CI on tags
| Job | Purpose |
|---|---|
release:verify | verify_release_version.py — tag matches VERSION and package.json |
release:build | Production npm run build — confirms the tagged tree builds |
Branch pipelines (develop / master) are unchanged; tag pipelines run only the release jobs.
Local dry-run
python scripts/bump_release.py --dry-run
Related documents
- Development workflow — branches and ff-merge to
master - Publishing model — site deploy after
mastermoves