Skip to content

ci: copy the superseded watcher's summary lines into the job-summary artifact (#2078) - #2080

Merged
JarryShaw merged 1 commit into
mainfrom
fix/2078-superseded-summary-copy
Oct 23, 2026
Merged

JarryShaw merged 1 commit into
mainfrom
fix/2078-superseded-summary-copy

Conversation

@JarryShaw

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

Closes #2078. The #2071 copy plumbing works. Run 39898485708 simply had nothing to copy.

  • Why the copy was empty: both legs were stopped as superseded. The only summary line, the watcher's - Superseded: …, goes to $GITHUB_STEP_SUMMARY alone. That was a deliberate choice, so the test step never sees JOB_SUMMARY_COPY. Containment summary and Experimental summary wrote nothing on that clean path.
  • Not affected: Unit Tests and Python Compatibility. The ci: report Experimental Tests and Python Compatibility to Discussions, with step summaries (#2030) #2071 PR run uploaded job-summary-test-4 and job-summary-engine-tests-*.

The fix:

  • superseded.py watch gains --summary-copy PATH. Its two summary lines go to the job summary and then to that file.
  • Run unit tests passes --summary-copy "$RUNNER_TEMP/job-summary.md" to the watcher only, so the tests still never see the variable.
  • The comment in experimental.yml, the sentence in workflows.rst and the _actions docstring are updated.

Tests: test_superseded_summary_copy_2078 runs the real Run unit tests and Name the job summary scripts. It then reads the files at the upload step's own path:, and checks that the tests never see JOB_SUMMARY_COPY. On main, 6 of its 9 tests fail. The superseded, reporter, KTLO-guard, matrix-tier and timing tests pass.

Overlap: #2079 moves superseded.py's summary writes onto _actions.summary, so whichever merges second needs a rebase. This merges cleanly with #2076.

@JarryShaw JarryShaw added bug Issues reporting a defect (set by the bug report template; a default, not an assessment) 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 23, 2026
@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 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 0e31e048d (Sonnet cross-review).

@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

github-actions Bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Coverage: 91.54% (unit tier, Python 3.15, 53bcc8062, 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 0e31e048d: the review is GOOD TO GO and CI is complete (56 passed, 0 failed). The ordering leg ran 2050 tests with 0 failures. The 3.8–3.10 KTLO legs show 0 failing tests, and the PR is based on current main (61bb4ba66). It conflicts with #2079 in superseded.py, so whichever merges second needs a rebase. If #2079 goes first, this one slims down when I rebase it.

…mmary (#2078)

A stopped experimental leg's only job-summary line came from
util/superseded.py, which wrote $GITHUB_STEP_SUMMARY alone, so
job-summary.md was never created and `Upload the job summary` found no
file (run 39898485708). `watch` now takes `--summary-copy PATH`, which
`Run unit tests` passes, and appends both of its summary lines there too.
It is an option rather than JOB_SUMMARY_COPY so the tests the watcher
runs never inherit the copy's path.
@JarryShaw

Copy link
Copy Markdown
Owner Author

Rebased onto main (26f1a72ef) and slimmed: 0e31e048d → 53bcc8062. #2079 moved superseded.py's summary writes onto _actions.summary, which already copies to JOB_SUMMARY_COPY, so this PR's own summarize() helper is gone.

The diff changed, so a delta review is running.

@JarryShaw
JarryShaw force-pushed the fix/2078-superseded-summary-copy branch from 0e31e04 to 53bcc80 Compare October 23, 2026 13:52
@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

Copy link
Copy Markdown
Owner Author

GOOD TO GO at 53bcc8062 (Sonnet delta review).

  • No leak into the tests: the new line builds a copy of env, and os.environ is untouched. After it, env reaches only report(), stopped() and the not-stopped _actions.summary call. The tests' Popen passes no env=, so JOB_SUMMARY_COPY never reaches them.
  • Both summary lines are copied: the stopped line and the "not stopped" line both pass environ=env to _actions.summary. An unwritable copy is skipped without raising.
  • Diff and tests: the diff covers only the expected six files. The superseded, helper, KTLO-guard, reporter and shellcheck tests pass.

@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 merged commit e21d3ca into main Oct 23, 2026
63 checks passed
@JarryShaw
JarryShaw deleted the fix/2078-superseded-summary-copy branch October 23, 2026 14:41
@github-project-automation github-project-automation Bot moved this from In review to Done in PyPCAPKit Oct 23, 2026
@JarryShaw

Copy link
Copy Markdown
Owner Author

Ready to merge at 53bcc8062. 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. The ordering leg ran 2079 tests with 0 failures. The head is on current main (26f1a72ef).

@JarryShaw JarryShaw removed the review: good-to-go Cross-review at the current head says ready; CI state is separate label Oct 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Issues reporting a defect (set by the bug report template; a default, not an assessment) 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: Experimental legs upload no job-summary artifact, so reports carry no summaries

1 participant