Implementation:Apache Airflow Provider Release Tooling
Appearance
| Knowledge Sources | |
|---|---|
| Domains | Release_Engineering, DevOps |
| Last Updated | 2026-02-08 00:00 GMT |
Overview
Concrete tools for building, signing, and publishing provider packages provided by breeze, sign.sh, and the release documentation.
Description
The breeze release-management command builds provider packages. The sign.sh script performs GPG signing and generates SHA512 checksums. The dev/README_RELEASE_PROVIDERS.md documents the complete release procedure. Publication uses twine for PyPI and svn for Apache dist.
Usage
Follow the step-by-step instructions in README_RELEASE_PROVIDERS.md for each provider release.
Code Reference
Source Location
- Repository: Apache Airflow
- File: dev/README_RELEASE_PROVIDERS.md (release procedures)
- File: dev/sign.sh (L1-32)
Signature
# sign.sh — GPG signing
set -euo pipefail
SIGN_WITH="${SIGN_WITH:-apache.org}"
for name in "${@}"; do
gpg --yes --armor --local-user "$SIGN_WITH" --output "${name}.asc" --detach-sig "${name}"
shasum -a 512 "${name}" > "${name}.sha512"
done
# breeze release management commands
breeze release-management prepare-provider-packages --package-format both
breeze release-management verify-provider-packages
Import
# Build packages
breeze release-management prepare-provider-packages
# Sign artifacts
./dev/sign.sh dist/*.tar.gz dist/*.whl
# Upload to PyPI
twine upload dist/*
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| Provider source | Python package | Yes | Provider with version bump |
| GPG key | Key | Yes | Apache signing key |
| PyPI credentials | Credentials | Yes | For package publication |
Outputs
| Name | Type | Description |
|---|---|---|
| Signed packages | .tar.gz + .asc + .sha512 | Signed release artifacts |
| PyPI package | Package | Published on PyPI |
| Git tags | Tags | Release version tags |
Usage Examples
Release Provider Package
# 1. Build packages
breeze release-management prepare-provider-packages --package-format both
# 2. Sign artifacts
./dev/sign.sh dist/*.tar.gz dist/*.whl
# 3. Upload to Apache SVN for voting
svn import dist/ https://dist.apache.org/repos/dist/dev/airflow/providers/
# 4. After vote passes, upload to PyPI
twine upload dist/*
Related Pages
Implements Principle
Page Connections
Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment