Make the releases automatic - #5269
Open
GarethCabournDavies wants to merge 19 commits into
Open
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Automates the PyCBC release workflow by rewriting version/release metadata during tagged builds and then bumping the repository back to a dev version after publishing.
Changes:
- Add tag-triggered steps to set a release version and rewrite
setup.pyduring wheel/sdist builds. - Add a
bump_versionjob that updatessetup.pyback to a dev version and pushes the change tomaster. - Introduce a composite GitHub Action to perform the
setup.pyversion/release rewrite.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 6 comments.
| File | Description |
|---|---|
| .github/workflows/distribution.yml | Adds tag-gated release version rewriting and a post-publish dev version bump/push job. |
| .github/actions/update-version/action.yml | New composite action to rewrite setup.py version/release lines via regex. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…rsion number if it is
…gotimegps (gwastro#5237) * add constants module to fall back on astropy/numpy values if lal is not installed * Update timeseries to use a float64 rather than ligotimegps * inject constants * Use import_optional to avoid repeating try/excepts * unused imports * More removal of LAL constants/routines * More movement away from LAL * Need a couple more checks in timeseries * removing lal from tests * Use astropy rather than lal gpstime in live plotting * Move gaussian noise module away from lal, add test coverage for that module * psd reading, results/versioning shouldnt require lal * More work * copilot review suggestions * Unused imports * Add some logic to allow LIGOTimeGPS to be passed into frequencyseries or timeseries * testing print * Allow wider variation in psd * Fix to eventmgr which assumes a ligotimegps * epoch_float64: use LIGOTimeGPS for epoch (switch epoch handling to float64) * epoch_float64: move epoch debug instrumentation and tracing helpers here (origins buffer, trace helpers, test instrumentation) * re moving unrelated changes * Removing unrelated changes * more unrelated stuff * Set coinc, stat and test live coinc back to master * Cleanup of this branch * Cleanup of this branch * I think this is the right stuff to make a start again * Fix stable sort problem with test_live_coinc_compare * Dont know where this change came from., but its wrong * Apply suggestion from @GarethCabournDavies * I cant remember why this change was made - lets revert it and run the tests * Handle slicing with None epochs for timeseries * Move epoch logic to a shared function, in-depth explanation logic of how epochs are input/converted
… buils, but lets test it
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.
Making the release strategy more automatic should make things a bit nicer for developers, and mean that the releases don't require us to set aside a few hours of our time waiting to set back to development (also not waiting on others' approval for PRs)
This patch updates the release strategy, and automates the steps in https://pycbc.org/pycbc/latest/html/release.html (though this page should be updated here, so the link won't work if this is merged, see #4778)
The current status of that page is:
The way this is done after this change is through the
distribution.ymlworkflow.setup.pyis altered for the 'release = True' and 'version = vX.Y.Z' (version number from the tag) - note that this only changes for the version that is being used in this runner. This change is never actually pushed to masterbump_version. This only runs when a tag is pushed, and takes the version, vX.Y.Z, and updated the number insetup.pytovX.Y.dev(Z+1), and then pushes that change to master.deploy_pypijob, which I think would make it waitTesting performed
I'm not sure how to test this without actually doing a release