Release process¶
This document describes the canonical AGT release process. AGT is proposed for AAIF hosting in aaif/project-proposals#19; until TC approval, Governing Board approval, governance finalization, and contribution agreement execution are complete, do not describe AGT as donated.
Versioning¶
AGT uses Semantic Versioning for published packages. The repository is a multi-language monorepo, so a release may publish several ecosystem artifacts from the same tag even when only a subset changed.
Release authority¶
Canonical releases are approved by maintainers with release-workflow ownership. Package registry publication temporarily uses Microsoft ESRP while registry-native GitHub publishing credentials are configured.
Supported registries¶
| Ecosystem | Registry | Canonical identity source |
|---|---|---|
| Python | PyPI | docs/package-migration.md |
| npm | npmjs.com | docs/package-migration.md |
| .NET | NuGet.org | docs/package-migration.md |
| Rust | crates.io | docs/package-migration.md |
| Go | Go module proxy | docs/package-migration.md |
| Containers | GHCR / OCI registry | docs/package-migration.md |
Release workflow¶
- Release manager confirms relevant CI is green.
- Release manager confirms package map, manifests, and release matrix agree.
- Release manager runs
Publish Packageswithdry_run: trueand reviews the uploadedrelease-manifest.json. - Release manager runs
Publish Container Imageswithdry_run: truewhen container artifacts are in scope. - Release manager creates a signed release tag.
.github/workflows/publish.ymlbuilds, tests, packages, attests, and uploads language package artifacts..github/pipelines/esrp-publish.ymlpublishes package artifacts to PyPI, npm, and NuGet while registry-native GitHub credentials are pending..github/workflows/publish-containers.ymlbuilds, attests, and publishes container images..github/workflows/sbom.ymlproduces release SBOMs and provenance.- Release manager verifies artifacts and publishes release notes.
Supply-chain requirements¶
Every canonical release must preserve:
- pinned GitHub Actions;
- least-privilege workflow permissions;
- dependency review on PRs;
- CodeQL and Scorecard coverage;
- SBOM generation;
- provenance attestations;
- explicit package and container verification guidance.
Hotfixes¶
For critical bugs or security issues:
- Create a hotfix branch from the affected release tag.
- Apply the minimal fix with tests.
- Run relevant package validation.
- Cut a patch release.
- Cherry-pick the fix back to
mainif needed.
Temporary release paths¶
Azure DevOps ESRP is the temporary package registry publication path for Microsoft-origin package identities. Keep ESRP configuration in ADO secrets and pipeline variables; do not put Microsoft tenant IDs, Key Vault names, certificates, or registry tokens in GitHub workflow YAML.