Skip to content

ci: post the Lint and GitHub Pages reports to Discussions (#2030) - #2056

Merged
JarryShaw merged 1 commit into
mainfrom
ci/2030-scheduled-and-push-reports-2
Oct 22, 2026
Merged

JarryShaw merged 1 commit into
mainfrom
ci/2030-scheduled-and-push-reports-2

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

The next part of #2030. Lint's and Pages' runs that have no pull request now post to the CI reports Discussions category.

  • lint.yml: scheduled and dispatched runs post every run to lint: weekly lint report. Pull-request runs never post.
    • Status: the job's result if that isn't success; otherwise warning when an advisory tool (bandit, mypy, vermin, pylint) failed, else success.
    • Steps: each tool step gains an id:, and its summary block is also teed into the report. Write the run report and Upload the run report close the job and are continue-on-error, so the check's result is unchanged.
  • deploy-pages.yml: push and scheduled runs post to deploy-pages: documentation build report. The if: takes the same shape as Vendor's, so pull requests and verdicts for another commit don't post. The status comes from the gate, build and publish results.
  • Both: a new discussion job alone holds discussions: write.
  • Not in this PR:
  • Tests: the new tests/project/test_lint_pages_reports_2030.py fails on main's two workflows and passes here. Three existing pins accept the new shape: test_actionlint_in_lint_1967, test_workflow_hardening_1968 and test_workflow_loader_1967_unit. These plus the new file: 54 passed. actionlint 1.7.12 exits 0, and the PR merges cleanly with build!: require Python 3.8+ and drop the BPC conversion (#2051) #2053.

@JarryShaw JarryShaw added enhancement Issues requesting a new capability (set by the feature request template) 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

Copy link
Copy Markdown
Owner Author

GOOD TO GO at 6db758f4b (Sonnet cross-review), with two prose fixes being folded in.

  • Lint check unchanged on pull requests: each tool step still exits with its own captured status after the new tee, as a simulated set +e … | tee … ; exit "$status" shows. The report steps are continue-on-error and skip on pull_request. The job name is still Lint, which ruleset 23497679 requires.
  • discussion jobs: only these hold discussions: write, and neither runs on a pull request. deploy-pages stays silent for a verdict on another commit. A successful push run is silent unless the last marker was bad.
  • Tests: the new file fails on main's workflows (45 failed) and passes here. It and the pin files give 65 passed, and shellcheck is clean on every run: block. The three edited pins still guard what they did.

Being fixed: a counted "three jobs" in a deploy-pages.yml comment, and lint.yml's stale note that Lint is not a required check.

- lint.yml: a `discussion` job posts the scheduled and dispatched runs to
  `lint: weekly lint report`. The tool steps get ids and tee their summary
  blocks to a file; `Write the run report` and `Upload the run report` close
  the job, skipping pull requests. Advisory failures report `warning`.
- deploy-pages.yml: a `discussion` job posts the gate, build and publish
  results to `deploy-pages: documentation build report`, as `push` on the
  `workflow_run` and `scheduled` on the schedule, never on a pull request or a
  verdict for another commit. No artifact; it checks out the script alone.
- Only the posting jobs hold `discussions: write`; the hardening, actionlint
  and loader pins allow for the new job, steps and `env`.
- workflows.rst's CI Reports section documents both. Lint is a required check
  since #1967: the actionlint comment, its docs paragraph and the required
  contexts table now say so.

tests/project/test_lint_pages_reports_2030.py pins both jobs; actionlint 1.7.12
is clean.
@JarryShaw
JarryShaw force-pushed the ci/2030-scheduled-and-push-reports-2 branch from 6db758f to f99d7e9 Compare October 22, 2026 21:17
@JarryShaw

Copy link
Copy Markdown
Owner Author

GOOD TO GO at f99d7e98c (Sonnet delta re-review).

  • No logic change: the delta changes comments only. I checked this myself by parsing both workflows at both heads: lint.yml and deploy-pages.yml are semantically identical, so nothing changes except comments.
  • Wording fixed: the counted "three jobs" is gone.
  • Lint documented as required: the lint.yml comment and the paragraph in workflows.rst now say Lint is required. The table's new Lint row matches the live ruleset 23497679.
  • Tests: 64 passed.

@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
@JarryShaw JarryShaw moved this to In review in PyPCAPKit Oct 22, 2026
@github-actions

Copy link
Copy Markdown
Contributor

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

Package Statements Missed Branches Partial Cover
pcapkit (top level) 104 4 20 2 95.16%
pcapkit/const 19599 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 f99d7e98c: the project leg (util/run_unittest_leg.py project) ran 1920 tests, OK (71 skipped). CI: 61 checks green, 0 failing, Lint included. KTLO 3.8, 3.9 and 3.10 legs: 0 failing tests. Ready to merge.

@JarryShaw
JarryShaw merged commit 856cbd8 into main Oct 22, 2026
63 checks passed
@JarryShaw
JarryShaw deleted the ci/2030-scheduled-and-push-reports-2 branch October 22, 2026 22:55
@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) enhancement Issues requesting a new capability (set by the feature request template)

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant