Skip to content

release: prepare statgpu 0.2.3 - #86

Merged
TheHiddenObserver merged 19 commits into
masterfrom
agent/release-0.2.3
Aug 4, 2026
Merged

release: prepare statgpu 0.2.3#86
TheHiddenObserver merged 19 commits into
masterfrom
agent/release-0.2.3

Conversation

@TheHiddenObserver

@TheHiddenObserver TheHiddenObserver commented Aug 4, 2026

Copy link
Copy Markdown
Owner

Summary

Prepare the next PyPI and GitHub release as statgpu 0.2.3 after merging PR #80.

Changes

  • bump project.version and statgpu.__version__ from 0.2.2 to 0.2.3;
  • publish synchronized root, English, and Chinese changelog entries for the completed CoxPH Phase 1 work;
  • add the authoritative user-facing GitHub Release document at .github/releases/v0.2.3.md, covering highlights, affected APIs, installation and platform support, validation, upgrade notes, known limitations, and full change-history links;
  • add a dedicated release-note completeness gate so the versioned GitHub Release document must exist, match the package version, contain the required user-facing sections, and contain no unresolved placeholders;
  • replace the pre-approval GPU-evidence wording with the final exact-head f05a44ad... schema-3 artifact and checksum;
  • add a pull-request release-package workflow that builds and validates the universal wheel and sdist, checks archive contents, smoke-installs the sdist on Ubuntu, and smoke-installs the same wheel artifact on Ubuntu, Windows, and macOS;
  • harden the tag-triggered publication workflow so the tag, package versions, and versioned release notes must agree; after PyPI succeeds, a separate job creates or updates the GitHub Release directly from .github/releases/v0.2.3.md and attaches the same wheel and sdist;
  • update RELEASING.md to make versioned GitHub Release notes authoritative and document the complete publication and failure-recovery procedure.

Why

The v0.2.2 release PR updated changelogs and version metadata but did not store a dedicated GitHub Release body in the repository. That left the final GitHub Release description dependent on manual editing or an automatically generated PR list, which did not adequately communicate the release. Version 0.2.3 now has a reviewed, version-controlled source of truth and an automated publication path.

PR #80 materially expands the public survival-analysis API and therefore requires release notes that explain user-visible capabilities and limitations rather than merely listing commits or internal validation work.

Validation expected on this PR

  • normal Tests workflow: docs contracts, static contracts, full CPU suite, and Python 3.9–3.12 regression matrix;
  • Release notes validation workflow:
    • version consistency;
    • .github/releases/v0.2.3.md existence and matching title;
    • substantive required sections;
    • installation, platform, and comparison information;
    • no unresolved placeholders;
    • synchronized root, English, and Chinese changelog versions;
  • Release package validation workflow:
    • STATGPU_NO_EXT=1 python -m build;
    • twine check;
    • exact statgpu-0.2.3-py3-none-any.whl and statgpu-0.2.3.tar.gz names;
    • archive safety and optional Cython-source checks;
    • clean sdist installation on Ubuntu;
    • clean installation of the exact same universal wheel artifact on Ubuntu, Windows, and macOS, including a CPU LinearRegression fit/predict smoke test and public Cox imports.

After merge

  1. Confirm all required checks are green on the exact PR head.
  2. Confirm the repository secret PYPI_TOKEN remains valid and project-scoped.
  3. Tag the release-PR merge commit as v0.2.3.
  4. Push the tag to trigger publication.
  5. The first job validates, builds, smoke-tests, and publishes the wheel and sdist to PyPI.
  6. Only after the PyPI job succeeds, the second job creates the GitHub Release from .github/releases/v0.2.3.md and attaches the same artifacts.
  7. Verify pip install --no-cache-dir statgpu==0.2.3 and confirm the GitHub Release body matches the versioned notes file.

This PR does not publish by itself; publication remains gated on the explicit v0.2.3 tag.

@TheHiddenObserver
TheHiddenObserver marked this pull request as ready for review August 4, 2026 07:09
Copilot AI lite review requested due to automatic review settings August 4, 2026 07:09
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@cursor

cursor Bot commented Aug 4, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Prepares the statgpu 0.2.3 release by updating version metadata, publishing synchronized changelog/release documentation, and adding/strengthening GitHub Actions automation to validate release notes, validate distributable artifacts, and publish a GitHub Release body from a version-controlled source after a successful PyPI upload.

Changes:

  • Bump package version from 0.2.2 to 0.2.3 and publish synchronized root/EN/CN changelog entries for the CoxPH Phase 1 completion release.
  • Add authoritative, versioned GitHub Release notes at .github/releases/v0.2.3.md plus a PR-time “release notes validation” gate.
  • Add PR-time “release package validation” (build + artifact checks + cross-OS wheel smoke installs) and harden the tag-triggered publish workflow to enforce version/release-note consistency and publish the GitHub Release from the versioned notes after PyPI succeeds.

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated no comments.

Show a summary per file
File Description
statgpu/__init__.py Bumps __version__ to 0.2.3.
pyproject.toml Bumps project.version to 0.2.3.
CHANGELOG.md Converts to release-versioned entry and records 0.2.3 release notes summary.
docs/en/changelog.md Publishes 0.2.3 English changelog entry.
docs/cn/changelog.md Publishes 0.2.3 Chinese changelog entry.
RELEASING.md Updates maintainer release process to make versioned GitHub Release notes authoritative and documents updated automation/verification steps.
.github/releases/v0.2.3.md Adds the version-controlled GitHub Release body for v0.2.3 with required user-facing sections.
.github/workflows/release-notes.yml Adds PR-time release-note completeness/consistency validation (version sync, required sections, placeholders, minimum length, etc.).
.github/workflows/release-package.yml Adds PR-time packaging validation (build, twine check, artifact safety checks, sdist install, wheel smoke installs across OSes).
.github/workflows/publish.yml Hardens tag-triggered publish flow: validates tag/version/release notes, smoke-installs wheel, uploads to PyPI, then creates/updates GitHub Release from versioned notes and attaches artifacts.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@TheHiddenObserver
TheHiddenObserver merged commit d200974 into master Aug 4, 2026
13 checks passed
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