Ref: #4078
## What
Create a GitHub Release with calendar versioning (`v2025.03.27.1`) and
auto-generated changelog after every successful production deployment.
Three files added/modified:
- **`.github/release.yml`** — Configures auto-generated release notes to
categorize PRs by label (features, bug fixes, performance, internal)
- **`.buildkite/scripts/create_github_release.sh`** — Determines
calendar version tag, finds previous release for changelog range,
creates GitHub Release via `gh` CLI with `--generate-notes`
- **`.buildkite/scripts/deploy_production.sh`** — Sources the release
script post-deploy so failures don't affect the deployment itself
## Why
We want versioned releases to track what shipped and when. Calendar
versioning (`vYYYY.MM.DD.N`) fits continuous deployment — multiple
deploys per day get sequential numbers. Auto-generated changelogs from
merged PRs give visibility into each release without manual effort.
## Prerequisites
- `gh` CLI installed on the Buildkite agent
- `GITHUB_TOKEN` or `GH_TOKEN` set in the Buildkite environment
## Test plan
- [ ] Verify `gh` CLI is available on Buildkite agents
- [ ] Verify GitHub token is configured in Buildkite environment
- [ ] Deploy to production and confirm a GitHub Release is created with
the correct tag and changelog
- [ ] Deploy a second time on the same day and confirm the sequence
increments (e.g. `v2025.03.27.2`)
---
Generated with Claude Opus 4.6.
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>