Release Playbook¶
Purpose¶
This playbook is the shortest path for maintainers to publish a new RaceLink_RH_Plugin release.
Inputs¶
- Plugin release version: optional workflow input. If omitted, the workflow increments the manifest patch version.
- Host development baseline: stored in
build/deps.jsonfor local development metadata. - Host runtime default: latest published
RaceLink_Hostrelease. - Host runtime override: optional workflow input when you need a specific
RaceLink_Hostversion for the release.
Release Steps¶
- Confirm that
RaceLink_Hosthas already published the wheel you want to use. - Open GitHub Actions and run
.github/workflows/offline-release.yaml. - Provide:
target_branchoptional pluginversionoptionalhost_version - If
host_versionis empty, the workflow resolves the latest publishedRaceLink_Hostrelease automatically. - Wait for the workflow to finish. It will:
resolve the host version
sync generated dependency files
validate online metadata sync
run the manifest dependency spike
run RHFest
bump the plugin version
validate that
manifest.jsonand the release tag match commit the release metadata create and push the plugin tag download the resolved host wheel build the offline ZIP publish the GitHub release - Do not create releases directly in the GitHub Releases UI. That path is intentionally unsupported because it cannot update
manifest.jsonbefore GitHub generates the source archive.
Expected Outputs¶
- Git tag
v<plugin-version> - GitHub release for
RaceLink_RH_Plugin - Uploaded offline ZIP artifact containing the staged
racelink-hostwheel for local installation into the RotorHazard Python environment
Failure Hints¶
- If metadata sync fails, run
py scripts/sync_racelink_host_dependency.pylocally and commit the result. - If the host wheel download fails, verify the selected or latest
RaceLink_Hostrelease tag and wheel filename. - If RHFest fails, inspect
custom_plugins/racelink_rh_plugin/manifest.jsonand the dependency-format rules indocs/manifest-dependency-format.md.