build: migrate releases to Release Please - #309
Conversation
* ci: test Python 3.9 alongside Python 3.13 * fix: support pandas on Python 3.14 while retaining Python 3.9
|
msweier
left a comment
There was a problem hiding this comment.
Looks good, the AI found some a few issues, but this one I think is worth noting (not a blocker though since we are telling the workflow what to do anyway):
The title-check workflow has more access than it needs. It only needs to read pull requests and post comments. Consider reducing its pull-request access to read-only and lock the referenced action to a specific version.
|
The title workflow has more permission so that it can remove the comment once the fix to the title is applied. But it maybe failing to do that? If we feel leaving the comment is sufficient we could remove that permission. |
Oh maybe? I'm fine w/ it if you are. |



Replaces manually tagged releases and automatic TestPyPI uploads with the Release Please flow used by cwms-cli. Merging normal changes prepares a version/changelog PR; merging that PR creates the tag and GitHub release, tests and builds that exact tag, publishes to PyPI, and uploads signed distributions.
The advisory title reminder supports scopes and breaking changes, corrects the copyable examples from cwms-cli, and updates/removes only its own bot comment. CONTRIBUTING.md and README explain releases, squash commit subjects, TestPyPI retirement, setup, and recovery.
Validation:
Integration failure investigation (run 34293478795):
test_store_multi_timeseries_chunks_dfand the subsequenttest_get_multi_timeseries_chunk_df.ORA-20998: ERROR: ORA-06512: at "CWMS_20.CWMS_TS", line 2459. The readback is incomplete: 4608, 576, or 1344 rows instead of 5952, depending on the job. The later read test fails because it uses those partially written series.store_multi_timeseries_dfcatches the inner chunk-storage exception and only prints it, so the test reaches its row-count assertion rather than stopping at the write failure. That behavior predates this PR.Maintainer setup: retain the existing PyPI trusted publisher for
pypi-deploy.yml/ environmentrelease, allow default-branch deployments if the environment restricts branches, and allow Actions to create PRs. I could not read the repository Actions permission setting (403). The docs explain how to trigger missing release-PR checks when using GITHUB_TOKEN. The new release workflow and title reminder require merging before they can be exercised on the default branch.