Skip to content

ci(release): name the right remedy when the latest release lacks Anaconda files (#2140) - #2151

Merged
JarryShaw merged 1 commit into
mainfrom
fix/2140-unfinished-release-remedy
Oct 25, 2026
Merged

JarryShaw merged 1 commit into
mainfrom
fix/2140-unfinished-release-remedy

Conversation

@JarryShaw

Copy link
Copy Markdown
Owner

What is the purpose of your pull request?

  • ci — workflows or build tooling

Description

Closes #2140 (item 2; item 1 was finished by the publish dispatch in #2060).

  • Problem. Create Release's "vX is unfinished (fix(ci): Create Release tags main's tip at approval time, not the commit it was created for #1634)" warning, from report_elsewhere() in util/release_status.py, always advised re-running the tagged commit's Create Release run. That re-run repeats the tag's own conda legs, so it cannot upload files those legs could not build. 1.5.0b14's osx-64 legs were broken at its tag.
  • Fix. The existing sentence is kept verbatim, because the conda tag and PyPI files still need the re-run. When PCAPKIT_CONDA_COMPLETE != 'true', one sentence is appended. It names Conda Update's publish dispatch on main (ci(conda): add a publish input to Conda Update's manual run (#2060) #2150) for the Anaconda files, as long as main's version is still the tagged one.
  • Docs. releasing.rst explains the remedy under the one-commit-per-release rule and in Recovery.
  • Tests. test_release_gates.py updates the full-text pin and adds a test for each of the Anaconda-missing and PyPI-only cases. test_release_status_scripts_1967.py strips the new sentence before comparing against the shell copy. The new and updated tests fail on origin/main (2 failed). Selections: 250 + 96 + 9 + 10 passed.

…onda files (#2140)

util/release_status.py's unfinished warning advised only re-running the
tagged commit's Create Release run. That run repeats the tag's own conda
legs, so it cannot upload files they could not build (1.5.0b14's osx-64).
Where Anaconda files are missing, the warning now also names Conda
Update's publish dispatch on main (#2060), valid while main's version is
still the tagged one. The tag and PyPI advice is unchanged.

tests/project/test_release_gates.py pins the new text and the unchanged
PyPI-only text; test_release_status_scripts_1967.py drops the new
sentence before comparing with the former shell. releasing.rst's
Recovery says the same.
@JarryShaw JarryShaw added the ci Pull requests that change CI or workflow configuration (ci: subject prefix) label Oct 25, 2026
@JarryShaw JarryShaw moved this to In review in PyPCAPKit Oct 25, 2026
@JarryShaw JarryShaw added the review: running A cross-review is in flight against the current head - no verdict yet label Oct 25, 2026
@JarryShaw

Copy link
Copy Markdown
Owner Author

GOOD TO GO at 1dccf8284 (Sonnet review).

  • The remedy is true. anaconda_source in util/release_published.py counts any build of the version, so build 1 counts as well as build 0, and a publish dispatch's upload clears completeness. "While main's version is still {version}" is the right condition, since the dispatch uploads main's version.
  • The new sentence is gated correctly. Its condition, PCAPKIT_CONDA_COMPLETE != 'true', is the same one that adds Anaconda to missing. The original sentence is byte-identical, and a PyPI-only miss gets no new text.
  • The 1967 agreement test still compares the script with the shell copy. Its single-line ANACONDA_REMEDY strip hides nothing else.
  • Tests: 10 + 9 + 133 passed. The new tests fail 2 on origin/main.
  • Doc nit, non-blocking: "names that remedy wherever Anaconda files are missing" is slightly broader than the warning's real trigger (a version tagged at another commit).

@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 25, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Coverage: 91.55% (unit tier, Python 3.15, 1dccf8284, Unit Tests run success)

Package Statements Missed Branches Partial Cover
pcapkit (top level) 104 4 20 2 95.16%
pcapkit/const 19599 880 2618 866 92.12%
pcapkit/corekit 2589 75 816 37 96.48%
pcapkit/dumpkit 282 3 102 3 98.44%
pcapkit/foundation 2971 23 1036 25 98.80%
pcapkit/interface 138 4 52 3 96.32%
pcapkit/protocols 17418 219 4574 185 98.14%
pcapkit/toolkit 869 36 298 10 95.20%
pcapkit/utilities 504 7 146 5 98.15%
pcapkit/vendor 4432 1988 1018 167 51.87%

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

@JarryShaw

Copy link
Copy Markdown
Owner Author

Ready to merge at 1dccf8284.

@JarryShaw
JarryShaw merged commit 4c3d301 into main Oct 25, 2026
65 checks passed
@JarryShaw
JarryShaw deleted the fix/2140-unfinished-release-remedy branch October 25, 2026 04:23
@github-project-automation github-project-automation Bot moved this from In review to Done in PyPCAPKit Oct 25, 2026
@JarryShaw JarryShaw removed the review: good-to-go Cross-review at the current head says ready; CI state is separate label Oct 25, 2026
@JarryShaw JarryShaw added this to the PyPCAPKit v1.5 milestone Oct 26, 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.

release: 1.5.0b14 has no osx-64 conda files, so Create Release warns it is unfinished on every released-elsewhere run

1 participant