Skip to content

ci: post the scheduled conda and Python-version reports to Discussions (#2030) - #2039

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

JarryShaw merged 1 commit into
mainfrom
ci/2030-scheduled-cron-reports

Conversation

@JarryShaw

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

#2030 PR 3. Stacked on #2033, so review only the top commit. Draft: cron-conda also runs on workflow_run after pushes, so its push mode depends on the open "warned" question on #2030.

  • cron-python-versions.yml, scheduled only: detect writes a report from plan.json. The report lists tier moves, regenerated files, ruleset edits, notes, audit and PR outcome. A discussion job posts it in scheduled mode to cron-python-versions: Python version update report. That job holds only contents: read and discussions: write, and it does not wait for pr, which waits on environment approval.
  • cron-conda.yml: conda-update reports pin notices and warnings, changed files and the pushed build. The discussion job adds the tag and upload results. It uses ci: post CI reports to a Discussions thread per job (#2030) #2033's event-to-mode mapping and gate-failure path, posting to cron-conda: conda distribution update report. Refresh the platform pins now tees its output under pipefail, and a test pins that a failing refresh still fails the step.
  • deploy-pages, project-status and codeql-analysis are not wired. They produce no report a thread adds to.

Pins fail on #2033's workflows (46 failed) and pass here (25 passed). Every file naming these workflows or reading workflows.rst gives 900 passed.

Open: in push mode an overdue pin warning would post on every verified main push until it is renewed.

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

Copy link
Copy Markdown
Owner Author

GOOD TO GO at 4720eb4c1 (Sonnet cross-review). The open item is the #2030 "warned" rule, which reaches only cron-conda's push mode.

  • Only the discussion jobs gain write scopes.
  • Refresh's exit status is unchanged against a stand-in that exits 1. pipefail is what stops tee from masking it.
  • cron-conda's gating matches ci: post CI reports to a Discussions thread per job (#2030) #2033's, and nothing consumes this workflow.
  • cron-python-versions reads plan.json through a quoted heredoc and env, and does not wait for pr.
  • The edited pins only tighten.

@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
@github-actions

github-actions Bot commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Coverage: 91.54% (unit tier, Python 3.15, 885a65ead, 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
JarryShaw force-pushed the ci/2030-scheduled-cron-reports branch from 4720eb4 to a15bad8 Compare October 22, 2026 14:55
@JarryShaw

Copy link
Copy Markdown
Owner Author

Rebased onto #2033's new head as a15bad87b. range-diff shows only context lines moved, from #2031's new util/pip_install.py row; this PR's own hunks are unchanged. Still stacked on #2033 and still a draft pending #2030.

@JarryShaw

Copy link
Copy Markdown
Owner Author

Rebased onto #2033's new head: a15bad87b → 0b49669c3. I resolved the conflict with #2035 in cron-conda.yml's Refresh the platform pins comment by keeping both sentences, #2028's and #2030's. range-diff: no other change besides context lines. The tests that read cron-conda.yml and cron-python-versions.yml: 631 passed. Still a draft until #2033 lands.

@JarryShaw
JarryShaw force-pushed the ci/2030-scheduled-cron-reports branch from 0b49669 to a967bea Compare October 22, 2026 18:11
@JarryShaw

Copy link
Copy Markdown
Owner Author

Rebase only, no new changes: 0b49669c3 → a967bea0c, moved onto main after #2033 merged. No conflicts, and the patch-id is identical. This PR is still a draft; I'll undraft it once its CI is green.

#2030)

- cron-conda.yml: `conda-update` writes and uploads a run report (pin
  notices and warnings, changed files, the build pushed) and a `warning`
  status for a pin warning; `Refresh the platform pins` keeps its output
  in a log under `pipefail`. A `discussion` job, alone holding
  `discussions: write`, adds the tag and upload results and posts it,
  `push` on `workflow_run` and `scheduled` otherwise, with a report of its
  own for a failed or cancelled gate.
- cron-python-versions.yml: `detect` writes and uploads a report from the
  plan (tiers moved, notes, audit, why no pull request opens); a
  `discussion` job posts it as `scheduled`, needing `detect` alone so the
  `github-release` approval never holds it.
- tests/project/test_cron_reports_2030.py: the workflow pins, and each
  report and post step run with stand-ins; the existing job, output and
  refresh-step pins follow.
- workflows.rst: CI Reports covers both workflows.
@JarryShaw
JarryShaw force-pushed the ci/2030-scheduled-cron-reports branch from a967bea to 885a65e Compare October 22, 2026 18:32
@JarryShaw

Copy link
Copy Markdown
Owner Author

Rebased onto main after #2034 merged: a967bea0c → 885a65ead. #2034's apt_packages.py row conflicted with this PR's edit to the discussion_report.py row in workflows.rst's scripts table. I kept both. The code patch-id is identical (outside docs/), and the tests that read workflows.rst or discussion_report pass (378). This is still a draft; I'll undraft it once its CI is green.

@JarryShaw

Copy link
Copy Markdown
Owner Author

ready for review?

@JarryShaw

Copy link
Copy Markdown
Owner Author

Yes. 885a65ead has a GOOD TO GO verdict and CI green: 57 checks, 0 failing. Only the Required checks passed roll-up was still queued. I am moving it out of draft now. The local ordering check is still queued behind #2049 and #2050, and I will post the result when it lands.

@JarryShaw
JarryShaw marked this pull request as ready for review October 22, 2026 20:11
@JarryShaw

Copy link
Copy Markdown
Owner Author

Ordering check on 885a65ead: the project leg (util/run_unittest_leg.py project) ran 1830 tests, OK (71 skipped). CI: 59 checks green, 0 failing. KTLO 3.8, 3.9 and 3.10 legs: 0 failing tests. Ready to merge.

@JarryShaw
JarryShaw merged commit 8f84316 into main Oct 22, 2026
60 checks passed
@github-project-automation github-project-automation Bot moved this from In review to Done in PyPCAPKit Oct 22, 2026
@JarryShaw
JarryShaw deleted the ci/2030-scheduled-cron-reports branch October 22, 2026 20:47
@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