ensure testing of built version after deployment#159
ensure testing of built version after deployment#159
Conversation
orbeckst
commented
Jan 22, 2026
- fix testing in deployment workflow does not check for the correct version #158
- remember version that was built
- ensure that we download the built version from TestPyPi or PyPi
- built with AI assistance (cursor)
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #159 +/- ##
=======================================
Coverage 88.20% 88.20%
=======================================
Files 5 5
Lines 814 814
Branches 107 107
=======================================
Hits 718 718
Misses 56 56
Partials 40 40 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
3da3d0c to
7ffc88e
Compare
- fix #158 - remember version that was built - ensure that we download the built version from TestPyPi or PyPi - built with AI assistance (cursor)
7ffc88e to
849dec9
Compare
|
Deployment workflow for testpypi worked correctly and pulled the 1.1.1rc0 version. Note that it was tagged as 1.1.1c but the whole workflow succeeded, despite the build-renaming of the version. https://github.com/MDAnalysis/GridDataFormats/actions/runs/21269343790/job/61215929498 |
|
For PyPi I got an installation failure for the macos-latest: https://github.com/MDAnalysis/GridDataFormats/actions/runs/21269454572/job/61216293028 Install from PyPi The previous step succeeded and said that the version was on PyPi: Wait for version to be available on PyPi Manual testing: the version exists https://pypi.org/project/GridDataFormats/1.1.1rc0/ and I can manually install (on macOS) with Perhaps this indicates that there are still some race conditions or caching issues. Not sure how to debug/test. Perhaps just check if it works with another release, to check that it's not a PyPi thing (vs TestPyPi). |
| MAX_ATTEMPTS: ${{ inputs.max_attempts }} | ||
| WAIT_SECONDS: ${{ inputs.wait_seconds }} | ||
| run: | | ||
| if [ "$REPOSITORY" = "testpypi" ]; then |
There was a problem hiding this comment.
Just a brief initial look - it feels like most of this should be doable directly as a python call.
Switchin between bash and python seems less efficient than having more os calls.
There was a problem hiding this comment.
Yes, good point!
it’s probably also nicer to just write a Python script instead of inline code.
|
Comment from @IAlibay on Discord:
Fair! Perhaps just replace the whole "wait until ready" action with |
| uses: ./.github/actions/wait-for-pypi-version | ||
| with: | ||
| repository: testpypi | ||
| package: GridDataFormats | ||
| version: ${{ needs.build.outputs.version }} | ||
|
|
There was a problem hiding this comment.
For simpler version, replace custom action with a sleep, e.g. sleep 300.