Maintainer Guide¶
This guide describes the day-to-day responsibilities for Agent Lightning maintainers—how to bump versions, run release ceremonies, interact with CI, and backport fixes safely.
Release Workflow¶
Follow this checklist throughout each release cycle.
Immediately After Shipping¶
Agent Lightning uses a bump-first strategy. As soon as a release is published:
- Update version metadata:
pyproject.toml: bump theversion.agentlightning/__init__.py: update__version__if it exists.uv.lock: refresh the lock file after the bump.
-
Refresh dependency pins as needed:
-
For a new minor or major release, create a stable branch from
main:git checkout main git pull upstream main git checkout -b stable/v2.0.x # adjust to the new series git push upstream stable/v2.0.xAll future changes to the stable branch must land via pull requests.
Preparing the Next Release¶
When it is time to publish the next version:
- Draft release notes in
docs/changelog.md, collecting every notable change since the previous tag. - Open a release PR targeting
main(for minor/major) or the relevant stable branch (for patch releases). Use the title[Release] vX.Y.Z. - Run extended CI by labeling the PR with
ci-alland commenting/ci. Investigate and resolve any failures. - Merge the release PR once notes are final and CI is green.
-
Tag the release from the branch you just merged into:
git checkout main # minor/major releases git checkout stable/vX.Y.Z # patch releases git pull git tag vX.Y.Z -m "Release vX.Y.Z" git push upstream vX.Y.ZPushing the tag publishes to PyPI and deploys the documentation.
-
Publish the GitHub release using the drafted notes, and confirm the docs site and PyPI listing reflect the new version.
Working with CI Labels and /ci¶
GPU suites and example end-to-end runs are opt-in. To trigger them on a pull request:
- Apply the appropriate labels before issuing the command:
ci-allfor every repository-dispatch workflow.ci-gpufor GPU integration tests (tests-full.yml).ci-apo,ci-calc-x,ci-spider,ci-unsloth,ci-compatfor the individual example pipelines.
- Comment
/cion the PR. Theissue-commentworkflow acknowledges the request and tracks job results inline. - Remove the labels once you have the signal to avoid accidental re-runs.
Use /ci whenever changes touch shared infrastructure, dependencies, or training loops that require coverage beyond the default PR checks.
Note
/ci always executes the workflow definitions on the current main branch, then checks out the PR diff. If you need to test workflow modifications, push the changes to a branch in the upstream repo and run:
Backporting Pull Requests¶
Supported stable branches rely on automated backports:
- Identify the target branch (for example
stable/v0.2.x). - Before merging the original PR into
main, add the matchingstable/<series>label (e.g.stable/v0.2.x). - The
backport.ymlworkflow opens a follow-up PR namedbackport/<original-number>/<target-branch>authored byagent-lightning-bot. - Review the generated PR, ensure CI is green, and merge into the stable branch.
- Resolve conflicts by pushing manual fixes to the backport branch and re-running
/ciif required.
Keep stable branches healthy by cherry-picking only critical fixes and ensuring documentation and example metadata stay aligned with each release line.