Skip to content

ci(release): move the conda legs' shell into util/ scripts (#1967) - #2089

Merged
JarryShaw merged 1 commit into
mainfrom
ci/1967-release-scripts-4
Oct 23, 2026
Merged

JarryShaw merged 1 commit into
mainfrom
ci/1967-release-scripts-4

Conversation

@JarryShaw

@JarryShaw JarryShaw commented Oct 23, 2026 •

Copy link
Copy Markdown
Owner

What is the purpose of your pull request?

  • ci — changes to CI configuration files and scripts

Description of your pull request and other information

The fourth create-release batch for #1967, covering the conda job and pypi's KTLO summary. Each move meets the #1967 inline rule: the shell is duplicated or has real logic.

  • util/release_conda.py leg|build|upload: conda's already-on-Anaconda check, plus Build conda packages and Upload conda packages to Anaconda (Intel). The last two are shared by create-release's conda and cron-conda's conda-dist, which drops the duplicated shell and both case maps.
  • pypi: KTLO summary now runs the shared leg_summary.py ktlo. Record this KTLO leg's outcome, 6 lines, stays inline under the rule.
  • Kept inline: two-command steps, and all of github and tag, which come in the next batch. Get Version stays inline too.
  • Equivalence: test_release_conda_scripts_1967 keeps the old bodies verbatim and runs each beside its script, requiring the same status, stdout, stderr, outputs and calls. Six planted divergences were caught, and a 2xx other than 200 is pinned as not published, as the old shell treats it. actionlint 1.7.12 is clean.
  • Unavoidable differences: labels are whitespace-collapsed rather than xargs-trimmed, bash's line N: prefixes are gone, and packages uses the helper's heredoc delimiter.
  • Windows (untested on a runner): the build now gets native Windows paths, not Git Bash /tmp ones. That leg is non-blocking and first runs on Saturday's schedule (Conda: bring back the Windows (win-64) package, in two phases #2060).

@JarryShaw JarryShaw added ci Pull requests that change CI or workflow configuration (ci: subject prefix) refactor Restructuring for its own sake — neither a fix nor a new capability (refactor: prefix) review: running A cross-review is in flight against the current head - no verdict yet labels Oct 23, 2026
@JarryShaw JarryShaw moved this to In review in PyPCAPKit Oct 23, 2026
@JarryShaw

Copy link
Copy Markdown
Owner Author

GOOD TO GO at df521c91e (Sonnet review).

  • Workflow diff: a PyYAML diff of both workflows shows only run: bodies changed, plus the new PCAPKIT_CONDA_OS/PCAPKIT_PYTHON_VERSION env entries. The outputs and their order match.
  • Equivalence test: five of its six embedded old bodies are byte-identical to main. The sixth comes from the cron-conda build and differs only in one comment line and the Windows arm, which it strips. The test caught 7 of 8 planted divergences; the miss was a 2xx other than 200 counting as published, a small follow-up.
  • Windows leg: UNVERIFIED until Saturday's run. No break was found: conda.exe should resolve from the activated PATH, and the native temp path is what the smoke step's Windows Python needs. The leg stays non-blocking.
  • Scripts: stdlib only and 3.7-parseable. Eleven test files pass.

Possible follow-up from review: put the 6-line Record this KTLO leg's outcome back inline, under a "trivial shell stays inline" rule. That is pending.

@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 23, 2026
@JarryShaw
JarryShaw force-pushed the ci/1967-release-scripts-4 branch from df521c9 to bad2e85 Compare October 23, 2026 15:27
@JarryShaw JarryShaw added 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 23, 2026
@JarryShaw JarryShaw changed the title ci(release): move the conda legs' and pypi KTLO steps' shell into util/ scripts (#1967) ci(release): move the conda legs' shell into util/ scripts (#1967) Oct 23, 2026
@JarryShaw
JarryShaw force-pushed the ci/1967-release-scripts-4 branch from bad2e85 to 34a58cf Compare October 23, 2026 15:29
@JarryShaw

Copy link
Copy Markdown
Owner Author

GOOD TO GO at 34a58cf1d (Sonnet delta review of bad2e8522, plus a whitespace-only amend).

  • KTLO step: a PyYAML compare shows Record this KTLO leg's outcome is identical to main (env and run). release_ktlo appears nowhere (git grep).
  • 2xx check: the old shell reads the reply only on an exact 200, and release_conda.py matches. Cases for 201 and 204 run against the old shell, and test_only_a_200_is_read pins it.
  • Inline rule (ci: divide and simplify the workflows into scripts, shared heads and smaller files #1967): every remaining move qualifies. The three conda steps are 48 lines with a bug history, or are duplicated with cron-conda (50/55 and 28/28 lines). pypi's KTLO summary reuses leg_summary.py ktlo, which four other jobs already call.
  • Amend: 34a58cf1d only fixes two blank-line spacings (pycodestyle E302/E303) in test_release_conda_scripts_1967.py.
  • Tests: five test files pass; the file I re-ran after the amend passes too.

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

Copy link
Copy Markdown
Contributor

Coverage: 91.54% (unit tier, Python 3.15, 34a58cf1d, 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 2565 71 812 37 96.56%
pcapkit/dumpkit 282 3 102 3 98.44%
pcapkit/foundation 2930 23 1022 25 98.79%
pcapkit/interface 138 4 52 3 96.32%
pcapkit/protocols 17414 219 4574 185 98.14%
pcapkit/toolkit 869 36 298 10 95.20%
pcapkit/utilities 473 7 136 5 98.03%
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 34a58cf1d.

  • Review and CI: the Sonnet delta review is GOOD TO GO, and every blocking check passed (Required checks passed SUCCESS). The 3.8–3.10 KTLO legs carry no warnings.
  • Merge into current main: the branch is one test-only commit behind (403117c98, test: a GraalPy xdist worker died during a SIGALRM TimeLimitTests case #2084), so I merged it into main in a scratch tree. That merge was clean, and the plain-unittest ordering leg for tests/project ran on it: 2117 tests, 0 failures.

@JarryShaw
JarryShaw merged commit e2786bc into main Oct 23, 2026
61 checks passed
@github-project-automation github-project-automation Bot moved this from In review to Done in PyPCAPKit Oct 23, 2026
@JarryShaw
JarryShaw deleted the ci/1967-release-scripts-4 branch October 23, 2026 17:22
@JarryShaw JarryShaw removed the review: good-to-go Cross-review at the current head says ready; CI state is separate label Oct 23, 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) refactor Restructuring for its own sake — neither a fix nor a new capability (refactor: prefix)

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant