Skip to content

Migrate release process to GitHub Actions with RC support and post-release automation#2132

Open
pritt20 wants to merge 2 commits into
mainfrom
enhance_cli_release_process
Open

Migrate release process to GitHub Actions with RC support and post-release automation#2132
pritt20 wants to merge 2 commits into
mainfrom
enhance_cli_release_process

Conversation

@pritt20
Copy link
Copy Markdown
Contributor

@pritt20 pritt20 commented May 12, 2026

Description

Replaces the hybrid CircleCI + GitHub Actions release pipeline with a fully GitHub Actions-based workflow.

Release types:

  • Nightly (nightly-YYYYMMDD) — built from main for testing latest development changes, no version needed
  • RC (vX.Y.Z-rc.N) — built from release-X.Y branches with
    auto-incrementing, branch validation, and approval gate
  • GA (vX.Y.Z) — requires at least one RC before release

Automation:

  • Automates all downstream distribution updates on GA release: godownloader script PR, Homebrew tap PR (via GoReleaser built-in), winget manifest PR, and optional Slack notification
  • Uses Octo STS for short-lived tokens (Homebrew tap, winget fork) instead of long-lived PATs
  • Adds Makefile targets (nightly-tag, rc-tag, release-tag) used by both CI and local workflows

Other changes:

  • Switches Windows archive format from raw binary to .zip containing astro.exe (required for winget compatibility)
  • Removes CircleCI configuration (.circleci/config.yml, .circleci/next_version.py)

Notion doc:

https://www.notion.so/astronomerio/Astro-CLI-Release-Process-36840290af6c80f9a9e6f5b4c6c60b97#36840290af6c80ea934bea3e1b2aa087

🎟 Issue(s)

Related #XXX

🧪 Functional Testing

List the functional testing steps to confirm this feature or fix.

📸 Screenshots

Add screenshots to illustrate the validity of these changes.

📋 Checklist

  • Rebased from the main (or release if patching) branch (before testing)
  • Ran make test before taking out of draft
  • Ran make lint before taking out of draft
  • Added/updated applicable tests
  • Tested against Astro-API (if necessary).
  • Tested against Houston-API and Astronomer (if necessary).
  • Communicated to/tagged owners of respective clients potentially impacted by these changes.
  • Updated any related documentation

@coveralls-official
Copy link
Copy Markdown

coveralls-official Bot commented May 12, 2026

Coverage Report for CI Build 26297149101

Warning

Build has drifted: This PR's base is out of sync with its target branch, so coverage data may include unrelated changes.
Quick fix: rebase this PR. Learn more →

Coverage decreased (-0.1%) to 39.653%

Details

  • Coverage decreased (-0.1%) from the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • 1885 coverage regressions across 7 files.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

1885 previously-covered lines in 7 files lost coverage.

File Lines Losing Coverage Coverage
airflow/mocks/DockerCLIClient.go 722 0.0%
airflow/mocks/DockerRegistryAPI.go 683 0.0%
airflow/mocks/DockerComposeAPI.go 176 0.0%
airflow/docker.go 152 77.12%
cloud/deploy/deploy.go 82 81.15%
airflow/standalone.go 38 71.89%
cmd/otto.go 32 19.35%

Coverage Stats

Coverage Status
Relevant Lines: 66078
Covered Lines: 26202
Line Coverage: 39.65%
Coverage Strength: 9.54 hits per line

💛 - Coveralls

@pritt20 pritt20 marked this pull request as ready for review May 25, 2026 14:03
@pritt20 pritt20 requested a review from a team as a code owner May 25, 2026 14:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant