🚀 ci: auto-publish beta to TestPyPI on develop merges#124
Merged
Conversation
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
marked this pull request as ready for review
July 21, 2026 14:36
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
Automate beta releases: every merge to
developnow bumps the beta version and publishes it to TestPyPI, removing the manualsrc/aqua/__init__.pyedit.mainno longer publishes; PyPI stays release-only (published via a GitHub Release).Description
developbecomes the beta channel — each push auto-increments the PEP 440 beta segment and ships a distinctbNto TestPyPI. The final (non-beta) release is cut frommain, which no longer triggers this workflow: set__init__.pyto the clean version there and publish a GitHub Release to PyPI.The auto-bump commit is pushed back to
developwith the defaultGITHUB_TOKEN.developrequires theRun testsstatus check, so the first merge is effectively a live test of whether that push is allowed — if it is rejected, the fix is indevelop's protection settings (let GitHub Actions bypass the rule), not a new personal token.Main Changes
developpush; dropmainfrom the workflow triggerscripts/bump_beta.py— increments the beta segment (X.Y.ZbN→b(N+1), orX.Y.Z→b1) and fails loudly on non-beta version strings (no silent fallback)developasgithub-actions[bot]with[skip ci]; per-refconcurrencyserializes rapid mergesPUBLISHING.md→docs/PUBLISHING.mdand rewrite it for the new CI flowdocs/in theAGENTS.mdlayout tablemainno longer publishes to TestPyPI.__init__.pyto the clean version onmain, then publish a GitHub Release → PyPI. Any push todevelopalways appends/bumpsbN, so a clean version cannot land ondevelop.Checklist