qol-tray-release-flowlisted
Install: claude install-skill qol-tools/qol-skills
# qol-tray-release-flow
This skill defines the release pipeline for `qol-tray` as it lives in the
`qol-monorepo` workspace. `qol-tray` is the host app under `apps/qol-tray`; it
is released as one "release unit" alongside the bundled `plugins/*`.
## 1. Versioning starts from successful CI
- The versioner is the repo-local workflow `.github/workflows/plugin-version.yml`
("Version and Release Plugins"), which runs `.github/scripts/plugin_version.py`.
It is NOT a reusable `qol-cicd` workflow.
- Automatic versioning starts from a completed, successful `CI` push run on
`main`. Manual dispatch verifies that the selected `main` commit has the same
successful source-CI evidence. Red, cancelled, incomplete, and non-main runs
never produce a release candidate.
- `CI` runs affected debug lint/tests and release-profile builds on Linux and
macOS with warnings denied. Release-profile parity is required because debug
clippy/tests can miss `debug_assertions` and target-specific warnings.
- The script computes a bump per release unit from conventional-commit history
since that unit's last tag (`feat` -> minor, `fix`/`perf` -> patch,
`!`/`BREAKING CHANGE` -> major), counting only commits that touch the unit's
package or its workspace dependency closure.
## 2. Release units (plugins + the host)
- Each plugin under `plugins/*` that carries a `plugin.toml` is a release unit.
- The host app `apps/qol-tray` is also a release unit. It has Cargo metadata
only and NO `plugin.