Skip to content

🚀 ci: auto-publish beta to TestPyPI on develop merges#124

Merged
andycreed0x merged 1 commit into
developfrom
bump-version
Jul 21, 2026
Merged

🚀 ci: auto-publish beta to TestPyPI on develop merges#124
andycreed0x merged 1 commit into
developfrom
bump-version

Conversation

@andycreed0x

Copy link
Copy Markdown
Collaborator

Purpose

Automate beta releases: every merge to develop now bumps the beta version and publishes it to TestPyPI, removing the manual src/aqua/__init__.py edit. main no longer publishes; PyPI stays release-only (published via a GitHub Release).

Description

develop becomes the beta channel — each push auto-increments the PEP 440 beta segment and ships a distinct bN to TestPyPI. The final (non-beta) release is cut from main, which no longer triggers this workflow: set __init__.py to the clean version there and publish a GitHub Release to PyPI.

The auto-bump commit is pushed back to develop with the default GITHUB_TOKEN. develop requires the Run tests status check, so the first merge is effectively a live test of whether that push is allowed — if it is rejected, the fix is in develop's protection settings (let GitHub Actions bypass the rule), not a new personal token.

Main Changes

  • 🚀 Publish to TestPyPI on every develop push; drop main from the workflow trigger
  • ✨ Add scripts/bump_beta.py — increments the beta segment (X.Y.ZbNb(N+1), or X.Y.Zb1) and fails loudly on non-beta version strings (no silent fallback)
  • 🔧 Auto-bump step commits the new version back to develop as github-actions[bot] with [skip ci]; per-ref concurrency serializes rapid merges
  • 🚚 Move PUBLISHING.mddocs/PUBLISHING.md and rewrite it for the new CI flow
  • 📝 Reference docs/ in the AGENTS.md layout table

⚠️ Breaking Changes

  • Pushing to main no longer publishes to TestPyPI.
  • Cutting a final release changes: edit __init__.py to the clean version on main, then publish a GitHub Release → PyPI. Any push to develop always appends/bumps bN, so a clean version cannot land on develop.

Checklist

  • No hardcoded values (they should go in constants.py, .env, or our database)
  • Added/updated tests (if necessary)
  • Added/updated relevant documentation (if necessary)

Bump the beta segment on every develop push via scripts/bump_beta.py,
commit it back, then build and publish to TestPyPI. main no longer
triggers the workflow; PyPI stays release-only. Move PUBLISHING.md to docs/.
@andycreed0x
andycreed0x marked this pull request as ready for review July 21, 2026 14:36
@andycreed0x
andycreed0x merged commit 4c16ac3 into develop Jul 21, 2026
1 check passed
@andycreed0x
andycreed0x deleted the bump-version branch July 21, 2026 14:39
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