Skip to content

ci: install through util/pip_install.py (#1967) - #2031

Merged
JarryShaw merged 1 commit into
mainfrom
ci/1967-step2-pip-install
Oct 22, 2026
Merged

JarryShaw merged 1 commit into
mainfrom
ci/1967-step2-pip-install

Conversation

@JarryShaw

@JarryShaw JarryShaw commented Oct 22, 2026 •

Copy link
Copy Markdown
Owner

What is the purpose of your pull request?

  • ci — workflows or build tooling

Description of your pull request and other information

#1967 step 2, item 3. #2027 and #2029 have landed, so this is one commit on main.

  • util/pip_install.py upgrades pip, setuptools and wheel, then runs the editable install, logging to $RUNNER_TEMP/pip-install.log. On failure it writes the install-failure annotation. Six unit-tests.yml steps call it: test, integration, pypcap-parity (all three with their KTLO twins), unittest-ordering, project-tests and gate.
  • The four formerly bare steps now annotate a failed install and exit 1. That is the one deliberate behaviour change.
  • tests/_dependency_gates.py gains EDITABLE_INSTALL, which matches both forms, and its readers use it.
  • Left inline: the whole-suite installs, Install coverage, and engine-tests's per-cell venvs. experimental.yml and python-compatibility.yml follow in their own PR.

The pin fails on #2029's unit-tests.yml (11 failed) and passes here. A parity test checks the old shell against the script on a stand-in pip, for seven outcomes at both annotation levels. The 40 test files that read unit-tests.yml or _dependency_gates.py give 716 passed, 4 skipped.

@JarryShaw JarryShaw added ci Pull requests that change CI or workflow configuration (ci: subject prefix) review: running A cross-review is in flight against the current head - no verdict yet labels Oct 22, 2026
@JarryShaw JarryShaw moved this to In review in PyPCAPKit Oct 22, 2026
@JarryShaw

Copy link
Copy Markdown
Owner Author

GOOD TO GO at 7c5f37146 (Sonnet cross-review; the first reviewer ran past its budget, so it was stopped and a second one re-ran it). All six sites match the removed shell: commands, the upgrade-failure status, %2C/%25 escaping and the ERROR: reason. The four bare steps gain the annotation, which is the intended change. Each LEG names an output its job has, and vermin reports a minimum of 3.7. The pin fails on #2029's workflow (11 failed).

@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 22, 2026
- util/pip_install.py: upgrades pip, setuptools and wheel, then installs
  the given editable spec, teeing its merged output to
  $RUNNER_TEMP/pip-install.log; a failed install writes the same
  ANNOTATION_LEVEL annotation naming pip's last ERROR line and exits 1.
  Standard library only, 3.7-compatible.
- unit-tests.yml: the install step of test, integration, pypcap-parity,
  unittest-ordering, project-tests and gate runs the script. The last
  four gain the annotation; the latest-only jobs set ANNOTATION_LEVEL:
  error and LEG on the step, pypcap-parity sets LEG. id, if,
  continue-on-error and shell are unchanged.
- tests/_dependency_gates.py: EDITABLE_INSTALL, the shared extras
  pattern for both install forms, used by every reader of install lines.
- tests: test_pip_install_1967.py covers the script, its parity with the
  former shell, and pins every site; the 1633 install tests stub pip
  instead of python; the tier-guard doctorings use the new form.
- workflows.rst: the script joins the Workflow Scripts table.
@JarryShaw
JarryShaw force-pushed the ci/1967-step2-pip-install branch from 7c5f371 to 0fac0e4 Compare October 22, 2026 03:46
@JarryShaw

Copy link
Copy Markdown
Owner Author

#2027 and #2029 landed squashed, so I rebased this onto main da8596414 as 0fac0e47d. patch-id is identical to 7c5f37146, so the verdict holds. It is no longer stacked.

@github-actions

Copy link
Copy Markdown
Contributor

Coverage: 91.54% (unit tier, Python 3.15, 0fac0e47d, Unit Tests run success)

Package Statements Missed Branches Partial Cover
pcapkit (top level) 104 4 20 2 95.16%
pcapkit/const 19597 881 2618 867 92.11%
pcapkit/corekit 2567 71 816 37 96.57%
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 17436 219 4582 185 98.15%
pcapkit/toolkit 872 36 298 10 95.21%
pcapkit/utilities 529 7 160 5 98.26%
pcapkit/vendor 4431 1995 1018 167 51.73%

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

@JarryShaw

Copy link
Copy Markdown
Owner Author

Ordering check on 0fac0e47d: python util/run_unittest_leg.py project on this tree gave Ran 1716 tests in 540s, OK (skipped=71), exit 0. KTLO failing test ids: 0 across every KTLO leg. Ready to merge.

@JarryShaw
JarryShaw merged commit cd4075e into main Oct 22, 2026
59 checks passed
@JarryShaw
JarryShaw deleted the ci/1967-step2-pip-install branch October 22, 2026 14:47
@github-project-automation github-project-automation Bot moved this from In review to Done in PyPCAPKit Oct 22, 2026
@JarryShaw JarryShaw removed the review: good-to-go Cross-review at the current head says ready; CI state is separate label Oct 22, 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.

1 participant