release-process

Cut and publish HOT-Step CPP releases via git tags triggering multi-platform CI builds.

151|22|Updated Apr 19, 2026
One-click install
npx skills add https://github.com/scragnog/HOT-Step-CPP --skill release-process-scragnog
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: release-process
Source: https://github.com/scragnog/HOT-Step-CPP/tree/main/.claude/skills/release-process
Command: npx skills add https://github.com/scragnog/HOT-Step-CPP --skill release-process-scragnog

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Releasing HOT-Step CPP involves a tag-triggered CI pipeline with non-obvious constraints: any pushed v* tag fires ~11 build jobs, no version files exist to bump, caches are ref-scoped, and a wrong tag silently corrupts release notes. This Skill encodes the exact runbook, golden rules, and failure signatures so releases ship correctly the first time. ## Core Features & Use Cases - Tag-driven release runbook: Step-by-step procedure for tagging vX.Y.Z, monitoring the Release workflow, verifying the 24-asset draft, and publishing with gh CLI. - Throwaway CI compile tests: Use hyphenated tags (e.g. vX.Y.Z-CI-Test) to test the full build matrix without polluting the changelog, plus cleanup commands. - Failure diagnosis: A symptom-to-fix table covering cold caches, nvcc runner mismatches, ninja mtime loops, truncated release notes, and stale-object mixed-ABI crashes. - Use Case: A maintainer asks to "cut release v1.4.0" — the Skill enforces the preconditions (clean master, check-release-prereqs.mjs passing, user approval before push), then walks through tagging, monitoring, asset verification, and draft publishing. ## Quick Start Ask the assistant to cut release vX.Y.Z of HOT-Step CPP and follow the release-process runbook to tag, monitor CI, and publish the draft.

Frequently Asked Questions about release-process

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I cut a release with a git tag and GitHub Actions?

Commit and push master, then create an annotated tag `git tag -a vX.Y.Z -m "summary"` and push it with user approval. The tag push triggers the Release workflow, which builds all platform variants and creates a draft GitHub Release you verify and publish with `gh release edit --draft=false`.

How do I test a CI build matrix without publishing a release?

Push a hyphenated tag like `vX.Y.Z-CI-Test`; it builds the full matrix but is excluded from changelog anchoring by the `--exclude '*-*'` filter. Afterward, delete the draft and tag with `gh release delete <tag> --cleanup-tag --yes` and `git tag -d <tag>`.

Where do I bump the version number before a release?

Nowhere — the git tag is the sole version source. The `package.json` version fields are stale and unused by the pipeline, and engine binaries embed the git short hash and commit date automatically via `version.cmake` at build time.

Why did my GitHub Actions CUDA build take 1.5 hours instead of 10 minutes?

The master build cache is missing or stale, since GitHub Actions caches are ref-scoped and only default-branch caches are visible to tag runs. Re-warm it with `gh workflow run cache-warm.yml`, wait for completion, then delete and re-push the release tag.

Why do my release notes only show a few commits?

A stray non-hyphenated tag was pushed between releases, and the changelog anchors to the previous tag via `git describe --tags --abbrev=0 --exclude '*-*'`. Delete the stray tag and draft, then re-push the release tag to regenerate full notes.

Why does nvcc fail with 'Only the versions between 2017 and 2022 are supported'?

The Windows runner was changed to `windows-latest` (windows-2025), whose MSVC version is rejected by CUDA 12.8/13.1 `nvcc`. Restore `runs-on: windows-2022` in release.yml; the runner image is also baked into the build cache key.