Files
wehub-resource-sync 85742ab165
Deploy Documentation / deploy (push) Has been cancelled
CPU Test / Test (Utilities, legacy, Python 3.10) (push) Has been cancelled
CPU Test / Test (LLM proxy, stable, Python 3.11) (push) Has been cancelled
CPU Test / Test (Others, stable, Python 3.11) (push) Has been cancelled
CPU Test / Test (Store, stable, Python 3.11) (push) Has been cancelled
CPU Test / Test (Utilities, stable, Python 3.11) (push) Has been cancelled
CPU Test / Test (Weave, stable, Python 3.11) (push) Has been cancelled
CPU Test / Test (AgentOps, stable, Python 3.12) (push) Has been cancelled
CPU Test / Test (LLM proxy, stable, Python 3.12) (push) Has been cancelled
CPU Test / Test (Others, stable, Python 3.12) (push) Has been cancelled
CPU Test / Test (Weave, latest, Python 3.13) (push) Has been cancelled
Dashboard / Chromatic (push) Has been cancelled
CPU Test / Lint - fast (push) Has been cancelled
CPU Test / Lint - next (push) Has been cancelled
CPU Test / Lint - slow (push) Has been cancelled
CPU Test / Lint - JavaScript (push) Has been cancelled
CPU Test / Build documentation (push) Has been cancelled
CPU Test / Test (AgentOps, legacy, Python 3.10) (push) Has been cancelled
CPU Test / Test (LLM proxy, legacy, Python 3.10) (push) Has been cancelled
CPU Test / Test (Others, legacy, Python 3.10) (push) Has been cancelled
CPU Test / Test (Store, legacy, Python 3.10) (push) Has been cancelled
CPU Test / Test (Weave, legacy, Python 3.10) (push) Has been cancelled
CPU Test / Test (AgentOps, stable, Python 3.11) (push) Has been cancelled
CPU Test / Test (Store, stable, Python 3.12) (push) Has been cancelled
CPU Test / Test (Utilities, stable, Python 3.12) (push) Has been cancelled
CPU Test / Test (Weave, stable, Python 3.12) (push) Has been cancelled
CPU Test / Test (AgentOps, latest, Python 3.13) (push) Has been cancelled
CPU Test / Test (LLM proxy, latest, Python 3.13) (push) Has been cancelled
CPU Test / Test (Others, latest, Python 3.13) (push) Has been cancelled
CPU Test / Test (Store, latest, Python 3.13) (push) Has been cancelled
CPU Test / Test (Utilities, latest, Python 3.13) (push) Has been cancelled
CPU Test / Test (JavaScript) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:44:17 +08:00

87 lines
3.6 KiB
Markdown

# 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:
1. Update version metadata:
- `pyproject.toml`: bump the `version`.
- `agentlightning/__init__.py`: update `__version__` if it exists.
- `uv.lock`: refresh the lock file after the bump.
2. Refresh dependency pins as needed:
```bash
uv lock --upgrade
```
3. For a new minor or major release, create a stable branch from `main`:
```bash
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.x
```
All future changes to the stable branch must land via pull requests.
### Preparing the Next Release
When it is time to publish the next version:
1. **Draft release notes** in `docs/changelog.md`, collecting every notable change since the previous tag.
2. **Open a release PR** targeting `main` (for minor/major) or the relevant stable branch (for patch releases). Use the title `[Release] vX.Y.Z`.
3. **Run extended CI** by labeling the PR with `ci-all` and commenting `/ci`. Investigate and resolve any failures.
4. **Merge the release PR** once notes are final and CI is green.
5. **Tag the release** from the branch you just merged into:
```bash
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.Z
```
Pushing the tag publishes to PyPI and deploys the documentation.
6. **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:
1. Apply the appropriate labels before issuing the command:
- `ci-all` for every repository-dispatch workflow.
- `ci-gpu` for GPU integration tests (`tests-full.yml`).
- `ci-apo`, `ci-calc-x`, `ci-spider`, `ci-unsloth`, `ci-compat` for the individual example pipelines.
2. Comment `/ci` on the PR. The `issue-comment` workflow acknowledges the request and tracks job results inline.
3. 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:
```bash
gh workflow run examples-xxx.yml --ref your-branch-name
```
## Backporting Pull Requests
Supported stable branches rely on automated backports:
1. Identify the target branch (for example `stable/v0.2.x`).
2. Before merging the original PR into `main`, add the matching `stable/<series>` label (e.g. `stable/v0.2.x`).
3. The `backport.yml` workflow opens a follow-up PR named `backport/<original-number>/<target-branch>` authored by `agent-lightning-bot`.
4. Review the generated PR, ensure CI is green, and merge into the stable branch.
5. Resolve conflicts by pushing manual fixes to the backport branch and re-running `/ci` if required.
Keep stable branches healthy by cherry-picking only critical fixes and ensuring documentation and example metadata stay aligned with each release line.