Implementation:Apache Airflow Post Release Tooling
Appearance
| Knowledge Sources | |
|---|---|
| Domains | Release_Engineering, Communication |
| Last Updated | 2026-02-08 00:00 GMT |
Overview
Concrete tools for post-release activities provided by send_email.py announce command and verify_release_calendar.py.
Description
The send_email.py announce command sends the release announcement email. The verify_release_calendar.py script validates the calendar has been updated. GitHub releases are created via the gh CLI. The release process checklist in README_RELEASE_AIRFLOW.md guides all post-release tasks.
Usage
Follow the post-release checklist in README_RELEASE_AIRFLOW.md after publishing release artifacts.
Code Reference
Source Location
- Repository: Apache Airflow
- File: dev/send_email.py (announce command at L304-336)
- File: dev/verify_release_calendar.py (verify at L536-624)
- File: dev/README_RELEASE_AIRFLOW.md (post-release checklist)
Signature
@cli.command("announce")
def announce(base_parameters, receiver_email: str) -> None:
"""Send release announcement to mailing lists."""
# Renders announcement template with version info
# Sends to dev@ and users@ mailing lists
...
Import
# Send announcement
python dev/send_email.py announce \
--apache-id myid \
--apache-password mypass \
--version 3.1.0
# Create GitHub release
gh release create v3.1.0 --title "Apache Airflow 3.1.0" --notes-file RELEASE_NOTES.rst
# Verify calendar updated
python dev/verify_release_calendar.py
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| version | str | Yes | Released version number |
| Apache credentials | str | Yes | For sending announcement email |
| Release notes | RST | Yes | For GitHub release page |
Outputs
| Name | Type | Description |
|---|---|---|
| Announcement email | Sent to dev@ and users@ lists | |
| GitHub release | Release page | Release page with changelog |
| Calendar verification | Report | Confirms calendar is updated |
Usage Examples
Post-Release Checklist
# 1. Send announcement
python dev/send_email.py announce \
--apache-id releasemanager \
--apache-password "$APACHE_PASS" \
--version 3.1.0
# 2. Create GitHub release
gh release create v3.1.0 \
--title "Apache Airflow 3.1.0" \
--notes-file RELEASE_NOTES.rst
# 3. Verify calendar
python dev/verify_release_calendar.py
# 4. Bump version on main
# (manual commit to update version in pyproject.toml)
Related Pages
Implements Principle
Page Connections
Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment