GitNexus/.github/workflows
Gergő Magyar ac9a2ee12f
chore(ci): consolidate parity shards and narrow cross-platform matrix (#1798)
* chore(ci): reduce CI runner-minutes by consolidating parity and narrowing cross-platform

Scope-resolution parity previously spawned 9 separate GitHub Actions jobs
(one per migrated language), each doing full checkout + npm ci + build for
a single test file. Consolidate into one job running scripts/run-parity.ts
which loops through all migrated languages sequentially — same coverage,
~45 fewer runner-minutes of redundant setup per PR.

Cross-platform (Windows/macOS) previously ran the full 373-file test suite.
Narrow to 45 platform-sensitive files (native LadybugDB, process spawning,
path separators, worker threads, filesystem behavior). Full suite still runs
on Ubuntu with coverage.

Also adds 2 missing lbug integration tests (lbug-orphan-sidecar-recovery,
lbug-readonly-init) to the sequential lbug-db vitest project where they
belong, and rewrites TESTING.md to document all test lanes.

* fix: address code review findings on parity and cross-platform scripts

- Capture stderr in run-parity.ts (vitest writes diagnostics to stderr)
- Lower per-invocation timeout from 5min to 60s to stay within CI job limit
- Add --language flag validation (error on missing value)
- Add timeout diagnostic to run-cross-platform.ts catch block
- Add analyze-wal-checkpoint-failure.test.ts to lbug-db sequential project
- Expand cross-platform list: parser-loader, pipeline, pipeline-graph-golden,
  setup-skills, cli/tool-no-index-stderr (51 files, was 45)

* fix: add shell:true for Windows npx resolution and simplify fs import

execFileSync('npx', ...) fails with ENOENT on Windows because npx is
npx.cmd — shell:true resolves this. Also replaces dynamic await
import('fs') with static import, and fixes timeout detection to use
err.killed instead of err.code.

* fix(ci): raise parity per-invocation timeout to 120s and job timeout to 30min

TypeScript and C++ resolver tests take 60-90s on CI runners, exceeding
the 60s per-invocation timeout. Raise to 120s. Also bump the job-level
timeout from 25 to 30 minutes for margin (realistic total is ~11 min).

* fix(ci): raise parity per-invocation timeout to 180s for C++ resolver

C++ resolver tests take 130-150s on CI runners due to template
metaprogramming, ADL, and SFINAE fixture volume. 120s was still too
tight. Realistic total across all 9 languages is ~12 min, well under
the 30-min job timeout.

* fix(ci): use stdio inherit for parity — no per-invocation timeout

Switch from piped stdio with per-invocation timeouts to stdio: 'inherit'.
Vitest output streams to CI console in real time, making failures
immediately visible. The CI job-level timeout (30 min) is the only
guard — no more artificial per-invocation timeouts that cut off slow
resolver tests like C++ (which genuinely takes 3+ minutes).

---------

Co-authored-by: Test <test@example.com>
2026-05-24 12:10:10 +01:00
..
ci-e2e.yml fix(security): Harden CI permissions (#1454) 2026-05-09 17:58:22 +01:00
ci-quality.yml fix(security): Harden CI permissions (#1454) 2026-05-09 17:58:22 +01:00
ci-report.yml ci: add fork-safe PR autofix pipeline (#1446) 2026-05-09 13:35:04 +01:00
ci-scope-parity.yml chore(ci): consolidate parity shards and narrow cross-platform matrix (#1798) 2026-05-24 12:10:10 +01:00
ci-tests.yml chore(ci): consolidate parity shards and narrow cross-platform matrix (#1798) 2026-05-24 12:10:10 +01:00
ci.yml refactor(ci): unify release pipeline under publish.yml (#1610) 2026-05-16 07:46:56 +01:00
claude.yml ci(claude): allow Bash in code-review job without interactive approval 2026-05-12 09:07:47 +01:00
codeql.yml chore(deps): bump github/codeql-action from 4.35.3 to 4.35.4 (#1738) 2026-05-21 12:06:15 +01:00
dependency-review.yml chore(deps): bump actions/dependency-review-action from 4.9.0 to 5.0.0 (#1739) 2026-05-21 12:07:22 +01:00
docker.yml refactor(ci): unify release pipeline under publish.yml (#1610) 2026-05-16 07:46:56 +01:00
gitleaks.yml fix(security): Harden CI permissions (#1454) 2026-05-09 17:58:22 +01:00
pr-autofix-apply.yml chore(deps): bump actions/checkout from 5.0.0 to 6.0.2 (#1459) 2026-05-09 19:26:53 +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 fix(security): Pin Docker Node base images, remove runtime package-manager CVE surface, verify Trivy on PRs, and harden Dependabot policy (#1455) 2026-05-09 16:55:31 +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.2.1 to 7.3.0 (#1740) 2026-05-21 12:07:07 +01:00
publish.yml fix(ci): bump publish job to Node 24 for npm OIDC support (#1628) 2026-05-16 09:18:08 +01:00
scorecard.yml chore(deps): bump github/codeql-action from 4.35.3 to 4.35.4 (#1738) 2026-05-21 12:06:15 +01:00
tree-sitter-upgrade-readiness.yml chore(deps): tree-sitter 0.25 upgrade readiness monitor with daily Dependabot (#847) 2026-04-16 09:17:21 +01:00
triage-sweep.yml chore(deps): bump actions/cache from 5.0.4 to 5.0.5 (#840) 2026-04-15 13:36:38 +01:00
trivy.yml chore(deps): bump github/codeql-action from 4.35.3 to 4.35.4 (#1738) 2026-05-21 12:06:15 +01:00
workflow-lint.yml chore(deps): bump github/codeql-action from 4.35.3 to 4.35.4 (#1738) 2026-05-21 12:06:15 +01:00