en un clic
release
// How to prepare and publish GitHub releases for prime-rl. Use when drafting release notes, tagging versions, or publishing releases.
// How to prepare and publish GitHub releases for prime-rl. Use when drafting release notes, tagging versions, or publishing releases.
How the prime-rl config system works — TOML files, CLI overrides, composition, and special patterns. Use when creating configs, debugging config errors, or overriding values via CLI.
How to install prime-rl and its optional dependencies. Use when setting up the project, installing extras like deep-gemm for FP8 models, or troubleshooting dependency issues.
Monitor an ongoing prime-rl training run — find the output directory, tail logs, check key metrics, inspect SLURM jobs, and restart safely. Use when asked to check on a run, debug training, or investigate performance.
Launch and monitor prime-rl training runs. Use when starting, supervising, or debugging an RL/SFT run. Routes to `start-run` (entrypoints + how to launch) and `monitor-run` (logs, metrics, check-ins).
How to launch prime-rl training runs — the `rl`, `sft`, and `inference` entrypoints, their config classes, and single-node/SLURM/dry-run modes. Use when starting a run or picking the right entrypoint.
| name | release |
| description | How to prepare and publish GitHub releases for prime-rl. Use when drafting release notes, tagging versions, or publishing releases. |
Releases are driven by .github/workflows/tag-and-release.yaml. The flow:
gh release create --draft).version in pyproject.toml.Release notes live on the GitHub Release, not in the repo. Prime-rl is not on PyPI. .dev tags are handled separately by devx_tag.yaml; tag-and-release.yaml ignores them.
git fetch origin --tags
grep '^version' pyproject.toml
gh release list --repo PrimeIntellect-ai/prime-rl --limit 5
SemVer (MAJOR.MINOR.PATCH). Confirm with the user before continuing.
Match the prior release's structure: numbered highlights (# 1., ...), then # Breaking Changes, # Bug Fixes, # Misc, # Contributors. Use ## subsections inside a highlight when it bundles multiple items.
PREV=$(gh release list --limit 1 --json tagName --jq '.[0].tagName')
gh release view "$PREV" --json body --jq .body # style reference
git log "$PREV"..origin/main --oneline --no-merges # commits since
gh pr list --base main --state merged --search \
"merged:>=$(gh release view "$PREV" --json publishedAt --jq .publishedAt)" \
--limit 500 --json number,title,author # for PR links + contributors
Tips:
[#1234](https://github.com/PrimeIntellect-ai/prime-rl/pull/1234).@username from the API (not git author names).NEW=v0.6.0
gh release create --draft "$NEW" --title "$NEW" --target main --notes-file /tmp/release-notes-$NEW.md
gh release view "$NEW" --json isDraft,tagName --jq '{tagName, isDraft}' # expect isDraft: true
Iterate with gh release edit "$NEW" --notes-file /tmp/release-notes-$NEW.md.
git switch -c chore/release-$NEW
# bump `version = "..."` in pyproject.toml
git add pyproject.toml
git commit -m "chore: release $NEW"
git push -u origin "chore/release-$NEW"
gh pr create --draft --title "chore: release $NEW" --body "Bumps version to ${NEW#v}. Draft release: https://github.com/PrimeIntellect-ai/prime-rl/releases/tag/$NEW"
Stop. Do not tag, push tags, or flip the draft to published — the workflow does that on merge.
If the workflow tagged the commit but failed to promote the draft, the next main push (or workflow_dispatch with tag: v{new}) re-promotes it.