GitNexus/.github/workflows
Parafee41 7916c315f0
ci: fail tree-sitter summary parse drift (#2246)
* ci: fail tree-sitter summary parse drift

* docs(ci): cross-reference readiness regexes to their test mirror

The two report.match() literals in the upsert-issue github-script step are
duplicated as _ISSUE_READY_RE / _ISSUE_BLOCKER_RE in
test_check_tree_sitter_upgrade_readiness.py, and only the Python copy is
asserted against the rendered report. Since a stale regex now throws via
requireMatch (instead of the old silent '?' fallback), add a reciprocal
keep-in-sync note at the workflow site so a future prose edit can't desync
the JS literal from the asserted mirror undetected.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(ci): route read-phase network failures to fetch_failed, not a crash

npm_view_json and fetch_text caught only (URLError, HTTPError[, JSONDecodeError]).
urllib wraps connect-phase OSErrors into URLError, but a failure during
resp.read() AFTER urlopen returns (ConnectionResetError, ssl.SSLError,
socket.timeout, http.client.IncompleteRead) is not a URLError subclass — it
escaped the helper, crashed main(), and left stdout empty. main() is unguarded
(the only top-level except wraps just stdout.reconfigure), and the report print
is its last statement, so an empty report then makes the workflow's requireMatch
throw on a non-drift scheduled run.

Broaden both except tuples with OSError + http.client.IncompleteRead so a
transient mid-body network blip yields None, routing the grammar to the existing
fetch_failed blocker bucket (a complete report) — preserving the fail-loud intent
for real drift while removing the crash-to-empty-stdout path. JSONDecodeError
stays explicit (it is a ValueError, not an OSError). Adds read-phase regression
tests that fail on the old narrow tuple.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* test(ci): document the regex-contract assertion counts

test_issue_update_summary_regex_matches_current_report asserts hardcoded
capture groups ("9","10") and "2" with no explanation. Document the
derivation from _render_report()'s mock corpus — 9 of 10 npm grammars Ready
(tree-sitter-cpp is the intentional pin), 2 blockers (pinned tree-sitter-cpp +
held vendored tree-sitter-c) — so a future grammar or pin change is an obvious
two-step update (mock + counts) rather than a mystery failure. Assertions
unchanged; comment only.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* ci: name _Resp method receivers 'self' to clear py/not-named-self

The _Resp stub inside _patch_urlopen named its method receivers
`self_inner`, which CodeQL flags as py/not-named-self (PEP 8) — three
alerts on this PR's merge ref (lines 230/233/236). _patch_urlopen is a
@staticmethod, so there is no outer `self` to collide with; rename the
receivers to the conventional `self`. Pure rename, no behavior change.

All 25 tests in test_check_tree_sitter_upgrade_readiness still pass.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Gergő Magyar <gergomagyar@icloud.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-20 20:45:09 +01:00
..
build-tree-sitter-prebuilds.yml chore(deps): bump actions/checkout from 6.0.2 to 6.0.3 (#2152) 2026-06-10 21:58:49 +01:00
ci-devcontainer.yml chore(deps): bump actions/checkout from 6.0.2 to 6.0.3 (#2152) 2026-06-10 21:58:49 +01:00
ci-e2e.yml chore(deps): bump actions/checkout from 6.0.2 to 6.0.3 (#2152) 2026-06-10 21:58:49 +01:00
ci-quality.yml chore(deps): bump actions/checkout from 6.0.2 to 6.0.3 (#2152) 2026-06-10 21:58:49 +01:00
ci-report.yml chore(deps): bump actions/checkout from 6.0.2 to 6.0.3 (#2152) 2026-06-10 21:58:49 +01:00
ci-tests.yml perf(cfg): streaming/chunked PDG graph emit for full-kernel-scale repos (#2202) (#2216) 2026-06-16 05:04:10 +01:00
ci.yml refactor(ingestion): delete legacy call-resolution DAG + heritage processor (RING4-1, #942) (#2023) 2026-06-04 11:07:37 +01:00
claude.yml chore(deps): bump actions/checkout from 6.0.2 to 6.0.3 (#2152) 2026-06-10 21:58:49 +01:00
codeql.yml chore(deps): bump github/codeql-action from 4.36.0 to 4.36.2 (#2242) 2026-06-18 05:57:15 +01:00
dependency-review.yml chore(deps): bump actions/checkout from 6.0.2 to 6.0.3 (#2152) 2026-06-10 21:58:49 +01:00
docker.yml chore(deps): bump actions/checkout from 6.0.2 to 6.0.3 (#2152) 2026-06-10 21:58:49 +01:00
gitleaks.yml chore(deps): bump gitleaks/gitleaks-action from 2.3.9 to 3.0.0 (#2241) 2026-06-18 05:57:39 +01:00
grammar-update-monitor.yml fix(ci): align tree-sitter readiness + grammar-update workflows on a shared manifest (#858) (#2187) 2026-06-13 16:15:49 +01:00
impact-pdg-mutation-report.yml feat(impact): opt-in PDG-backed impact mode - statement + inter-procedural slicing, resolved-callee-id soundness, mutation-oracle validated (#2227) 2026-06-20 12:04:32 +01:00
pr-autofix-apply.yml chore(deps): bump actions/checkout from 6.0.2 to 6.0.3 (#2152) 2026-06-10 21:58:49 +01:00
pr-autofix-publish.yml feat(autofix): replace inline reviewdog with /autofix ChatOps button (#1458) 2026-05-09 16:32:38 +01:00
pr-autofix.yml chore(deps): bump actions/checkout from 6.0.2 to 6.0.3 (#2152) 2026-06-10 21:58:49 +01:00
pr-description-check.yml chore(deps): bump actions/github-script from 7.0.1 to 9.0.0 2026-04-15 20:17:08 +00:00
pr-labeler.yml chore(deps): bump release-drafter/release-drafter from 7.3.0 to 7.3.1 (#2157) 2026-06-10 21:52:55 +01:00
publish.yml chore(deps): bump actions/checkout from 6.0.2 to 6.0.3 (#2152) 2026-06-10 21:58:49 +01:00
scorecard.yml chore(deps): bump github/codeql-action from 4.36.0 to 4.36.2 (#2242) 2026-06-18 05:57:15 +01:00
tree-sitter-upgrade-readiness.yml ci: fail tree-sitter summary parse drift (#2246) 2026-06-20 20:45:09 +01:00
triage-sweep.yml chore(deps): bump actions/checkout from 6.0.2 to 6.0.3 (#2152) 2026-06-10 21:58:49 +01:00
trivy.yml chore(deps): bump github/codeql-action from 4.36.0 to 4.36.2 (#2242) 2026-06-18 05:57:15 +01:00
workflow-lint.yml chore(deps): bump github/codeql-action from 4.36.0 to 4.36.2 (#2242) 2026-06-18 05:57:15 +01:00