Skip to content

build: migrate releases to Release Please - #80

Open
krowvin wants to merge 7 commits into
HydrologicEngineeringCenter:masterfrom
krowvin:build/release-please
Open

build: migrate releases to Release Please#80
krowvin wants to merge 7 commits into
HydrologicEngineeringCenter:masterfrom
krowvin:build/release-please

Conversation

@krowvin

@krowvin krowvin commented Sep 9, 2026

Copy link
Copy Markdown

Replaces manually tagged releases and automatic TestPyPI uploads with the Release Please flow used by cwms-cli. Merging normal changes into master 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. New CONTRIBUTING.md guidance, linked from README, covers development, release titles, TestPyPI retirement, setup, and recovery. This PR comes from krowvin/fork-SHEF_processing because I have read-only upstream access.

Validation:

  • Poetry check, wheel/sdist builds, and shefParser --version passed. Poetry reports existing legacy metadata deprecation warnings.
  • 29 tests passed; tests/test_cli_export_cda_errors.py::test_export_cda_missing_required_args failed on Windows/Python 3.13. It expects --office to be required, but the CLI proceeds to http://x and receives an ApiError. Reproduced the same failure on an untouched upstream/master worktree using the same environment. No test or application source was changed by this PR; the new publication test gate will expose this failure if it also occurs on the release runner.
  • Actionlint and the configured YAML pre-commit hook passed for both workflows.
  • Local Release Please schema/strategy checks verified patch/minor/major Poetry updates and unprefixed tags; nine mocked reminder cases passed per repository.
  • Whitespace checks passed. No package was published and no release was created during validation.
  • Fresh Linux/Python 3.12 installation with all extras and dependency source builds disabled, followed by wheel/sdist builds, passed. Python 3.13 lacks a Linux wheel for the locked NumPy 2.0.2, so release builds use the already tested Python 3.12 runtime.
  • GitHub requires maintainer approval before running this fork PR's workflow. Formal reviewer assignment was denied by repository permissions; Eric (@Enovotny) was requested in a PR comment instead.

Maintainer setup: retain the existing PyPI trusted publisher for pypi-deploy.yml / environment release, allow default-branch deployments if the environment restricts branches, and allow Actions to create PRs. 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.

@krowvin

krowvin commented Sep 9, 2026

Copy link
Copy Markdown
Author

@Enovotny here's a followup from our earlier discussion. When you have a moment could you review this Release Please migration? It follows cwms-cli, with separate commits for removal, version configuration, publishing CI, title reminders, and docs.

I'm not a maintainer and cannot set you as a reviewer

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