Skip to content

ci(release): a push that releases nothing stays green when its version is tagged elsewhere (#1748) - #1751

Merged
JarryShaw merged 1 commit into
mainfrom
ci/1748-release-elsewhere-stays-green
Oct 15, 2026
Merged

JarryShaw merged 1 commit into
mainfrom
ci/1748-release-elsewhere-stays-green

Conversation

@JarryShaw

Copy link
Copy Markdown
Owner

Please follow the guide below

What is the purpose of your pull request?

Tick the commit type your subject line carries.

  • fix — corrects a defect
  • feat — adds a feature
  • perf — changes performance, not behaviour
  • refactor — changes neither behaviour nor performance
  • test — tests only
  • docs — documentation only
  • ci — workflows or build tooling
  • release — bumps the version or rolls up a distribution
  • chore — anything else

Closes #1748. This implements option A plus the side-finding fix, as the owner chose. While v1.5.0b12 names 2025da5e5 and is unfinished, every push to main currently leaves 10 red conda checks.

@JarryShaw JarryShaw added the ci Pull requests that change CI or workflow configuration (ci: subject prefix) label Oct 15, 2026
@JarryShaw JarryShaw moved this to In review in PyPCAPKit Oct 15, 2026
@JarryShaw

Copy link
Copy Markdown
Owner Author

Verdict: GOOD TO GO at eb3ddaa58. A Sonnet cross-review tried to break it (author: Opus).

@JarryShaw JarryShaw added review: good-to-go Cross-review at the current head says ready; CI state is separate review: running A cross-review is in flight against the current head - no verdict yet and removed review: good-to-go Cross-review at the current head says ready; CI state is separate labels Oct 15, 2026
…n is tagged elsewhere (#1748)

- version_check gains an `owner` step that resolves the v* tag as #1634's
  check does and outputs PCAPKIT_RELEASED_AT and PCAPKIT_RELEASED_ELSEWHERE.
- Off a v* ref, a tag naming another commit skips the release test gate and
  github, tag, pypi and conda; a v* push still meets #1634's check. `!= 'true'`
  sends an unset output to the guards, as #1052 does.
- release_status reports that case before reconciling: a notice when the
  release is complete, a warning naming both commits, what is missing and the
  remedy when not, and exits 0. The #888 stranded shape still exits 1.
- A new vendor_update job reads the triggering Vendor Update's jobs; one that
  concluded success with vendor-update skipped (run 38650191283) no longer
  runs version_check, and release_status says why.
- Tests: truth-table rows and mutations for the new clause, version_check's
  run through vendor_update's skip on a push, release_status scenarios, the
  owner step and vendor_update's script against real shapes.
- Docs: releasing.rst and workflows.rst, line citations renumbered.

Closes #1748
@JarryShaw
JarryShaw force-pushed the ci/1748-release-elsewhere-stays-green branch from eb3ddaa to d204544 Compare October 15, 2026 00:43
@JarryShaw

Copy link
Copy Markdown
Owner Author

Verdict: GOOD TO GO at d20454483. A Sonnet check verified round 2 (author: Opus).

  • Test-only change: test_release_gates.py gains VERSION_CHECK_CASCADE_ROWS, run through job_runs() with the needs: skip cascade. It asserts three cases: on a v* push with vendor_update skipped, version_check runs; with updated=false it skips; with updated unset it runs.
  • Mutation: with !cancelled() && removed, the new tests fail (2 failed). The round-1 tests passed against the same mutant (123 passed), so the gap was real.
  • My own re-run in the PR's tree: release_gates, 125 passed and 434 subtests.

@JarryShaw JarryShaw added review: good-to-go Cross-review at the current head says ready; CI state is separate and removed review: running A cross-review is in flight against the current head - no verdict yet labels Oct 15, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Coverage: 89.57% (unit tier, Python 3.15, d20454483, Unit Tests run success)

Package Statements Missed Branches Partial Cover
pcapkit (top level) 104 3 20 3 95.16%
pcapkit/const 18860 954 2368 868 91.06%
pcapkit/corekit 2457 69 780 35 96.54%
pcapkit/dumpkit 276 3 100 3 98.40%
pcapkit/foundation 2906 164 1016 34 93.57%
pcapkit/interface 138 7 52 5 93.68%
pcapkit/protocols 17174 225 4588 190 98.07%
pcapkit/toolkit 864 182 298 9 76.33%
pcapkit/utilities 512 2 158 4 99.10%
pcapkit/vendor 4417 2342 1010 157 43.38%

Per-file detail: the coverage-html artifact of this run.

@JarryShaw
JarryShaw merged commit 84e93bc into main Oct 15, 2026
54 of 55 checks passed
@github-project-automation github-project-automation Bot moved this from In review to Done in PyPCAPKit Oct 15, 2026
@JarryShaw
JarryShaw deleted the ci/1748-release-elsewhere-stays-green branch October 15, 2026 01:36
@JarryShaw JarryShaw removed the review: good-to-go Cross-review at the current head says ready; CI state is separate label Oct 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci Pull requests that change CI or workflow configuration (ci: subject prefix)

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

ci(release): a push that releases nothing leaves 10 red conda checks on main while 1.5.0b12 is unfinished (#1634)

1 participant