Shared composite GitHub Actions for the TracineHQ portfolio.
Public for transparency and reuse; the action contracts are stable, but
the target audience is the TracineHQ portfolio. The repo is shared by
convo and guard today and is designed to absorb future
PyPI-publishing repos in the portfolio.
tracine.dev is a static site (no version, no PyPI publish) and does
not consume these actions.
| Action | Purpose |
|---|---|
cut-release |
Bump version indicators + roll CHANGELOG.md |
Consumers pin to a major-version float so patch fixes propagate but breaking changes are explicit:
- uses: TracineHQ/actions/cut-release@v1
with:
version: 1.2.0For full immutability, pin to an exact tag (@v1.0.0).
This repo ships its own semver tags:
v1.0.0,v1.0.1,v1.1.0, ... — exact releasesv1— a moving major-version tag that always points to the latestv1.x.y. Consumers using@v1get patch/minor updates automatically.
A breaking change to any action's input/output contract bumps the major version of this repo, regardless of which action changed. That keeps consumer pinning simple — one ref governs all actions.
uv sync
uv run pytest
uv run ruff check
uv run mypy cut-release/bump.pyThe bump-logic Python modules are pure (no I/O outside the entry-point script), so tests cover the transformations directly without needing a real git repo.