Repository navigation
Releasing
Versions follow Semantic Versioning, with tags named vMAJOR.MINOR.PATCH. The CMake package declares SameMajorVersion compatibility, so a minor release must not break the API.
python3 scripts/ci/semver_check.pyIt reads the commits since the last tag: feat means minor, fix means patch, and ! or BREAKING CHANGE: means major. Check its answer against the actual changes. For 1.1.0 it suggested 1.0.1, because a backward-compatible API addition (enable_module() returning bool) had been committed as a fix.
-
On a
chore/release-X.Y.Zbranch:- bump
project(coretrace-logger VERSION X.Y.Z)inCMakeLists.txt; - set
GIT_TAG vX.Y.Zin the README's FetchContent example; - in
CHANGELOG.md, rename## Unreleasedto## vX.Y.Zand end the section with[Full vX.Y.Z notes](https://github.com/CoreTrace/coretrace-log/releases/tag/vX.Y.Z).; - update the README and this wiki for the behavior that changed.
- bump
-
Open a pull request
chore(release): prepare vX.Y.Zthat contains the draft release notes. Merge it once CI is green. -
Tag the merge commit and publish the release:
gh release create vX.Y.Z --target <merge-commit> --title vX.Y.Z --notes-file notes.md
--targettakes the full SHA of the merge commit (git rev-parse HEADon an up-to-datemain) or a branch name. GitHub rejects a short SHA withHTTP 422: target_commitish is invalid. -
Check that
find_package(coretrace-logger X.Y)finds the installed package.
Past releases and their notes are on the releases page.
Using the library
Working on the library