Skip to content

build: migrate releases to Release Please - #309

Open
krowvin wants to merge 6 commits into
mainfrom
build/release-please
Open

build: migrate releases to Release Please#309
krowvin wants to merge 6 commits into
mainfrom
build/release-please

Conversation

@krowvin

@krowvin krowvin commented Sep 9, 2026

Copy link
Copy Markdown
Collaborator

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:

  • 95 mock/doctest tests passed; strict mypy passed for all 38 source files.
  • Poetry check, wheel/sdist builds, and runtime version smoke check passed. Poetry reports existing legacy metadata deprecation warnings.
  • 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.13 installation from the lockfile with dependency source builds disabled, followed by wheel/sdist builds, passed.
  • SonarCloud, CodeQL, formatting, unit tests, and type checks pass on head 0524a59. The remote CDA matrix finished with 15 passing and 3 failing jobs; see the investigation below.

Integration failure investigation (run 34293478795):

  • Failed combinations: Python 3.9 / CDA test / schema latest; Python 3.13 / CDA production / schema latest; Python 3.13 / CDA test / schema latest.
  • Each job passes 78 tests and fails test_store_multi_timeseries_chunks_df and the subsequent test_get_multi_timeseries_chunk_df.
  • Concurrent POSTs for Raw-Multi-2 fail with HTTP 404 and 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_df catches 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.
  • The affected Python source, tests, lockfile, Compose configuration, and CDA integration workflow are unchanged from base 4569028. All production/test-schema combinations passed. This points to a latest-dev backend interaction during concurrent creation/writes, not Release Please; the precise underlying database error is not exposed by the response, and the retained backend log tail does not establish it. No tests were disabled or retries added to hide the failure.

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. 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.

@krowvin
krowvin requested a review from Enovotny September 9, 2026 00:02
Comment thread .github/workflows/pypi-deploy.yml Fixed
Comment thread .github/workflows/pypi-deploy.yml Fixed
Comment thread .github/workflows/pypi-deploy.yml Fixed
@sonarqubecloud

sonarqubecloud Bot commented Sep 9, 2026

Copy link
Copy Markdown

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.

2 participants