MPT-21995 Adopt manual release pipeline with optional E2E#338
Conversation
Replace the publish-on-release workflow with the new manually-triggered library release pipeline (validate version, uv build + uv publish, annotated tag, GitHub release with pre-release on main / latest on release/*, Dependency-Track). Idempotent re-runs; release.yml filename kept stable for the PyPI trusted publisher binding. Add a run_e2e checkbox input that runs the E2E suite (non-blocking, ReportPortal) before publishing, and add a workflow_dispatch trigger to cron-main-e2e.yml so E2E can be run manually on demand. MPT-21995 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Warning Review limit reached
More reviews will be available in 10 minutes and 15 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Repository YAML (base), Organization UI (inherited) Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
Comment |
Address CodeRabbit: when the release tag already exists, verify it points to the dispatched commit (GITHUB_SHA) and fail otherwise, instead of silently skipping. Prevents creating a release from an unintended commit if the tag was pre-created or drifted. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|



🤖 AI-generated PR — Please review carefully.
What
Replaces the
release: publishedpublish workflow with the new manually-triggered library release pipeline, and makes E2E runnable on demand. Keeps therelease.ymlfilename (PyPI trusted publisher is bound to it).release.ymlworkflow_dispatchwith aversioninput (X.Y.Z, nov) and arun_e2echeckbox.main/release/*; no existing published release; version strictly greater than highest reachable tag (monotonic per branch).run_e2eis checked: builds test containers, runs the E2E suite against the MPT API and reports to ReportPortal (non-blocking,continue-on-error, same as before), then stops containers — before building/publishing.uv build+uv publish --check-url(OIDC trusted publishing; idempotent).vX.Y.Z, generated notes; pre-release on main / latest on release/*).mpt-api-python-client).cron-main-e2e.ymlworkflow_dispatchtrigger so the E2E suite can also be run manually on demand, independent of the daily schedule.Notes
continue-on-error) to match the previous behaviour; it is run for its ReportPortal launch, not as a release gate.Testing
pre-commit(check-yaml + file hygiene) passes.Subtask: MPT-21995 (parent MPT-21981).