Skip to content

ci: gate main, install, invariants, four engine suites, parser suites; skipped suites fail - #579

Closed
swapnilpaliwal-sd wants to merge 1 commit into
mainfrom
ci-gate
Closed

swapnilpaliwal-sd wants to merge 1 commit into
mainfrom
ci-gate

Conversation

@swapnilpaliwal-sd

Copy link
Copy Markdown
Contributor

Supersedes #418 (which conflicts on every hunk: it predates the reshape and the parser merge). Keeps its design and adds what the current tree needs:

  • install: fresh clone, npm install, typecheck, build, bin/axiomcode runs and the parser writes IR (the failure that reached main in build: exclude graph/test fixtures from the engine's compile, a fresh clone could not npm install #477).
  • hygiene: fixture tracking, staging maps for all four languages, client->library coverage, the bundle schema/doc preflight, the engine-id preflight, shell syntax.
  • engine: java (--oracle --no-torture), typescript (--oracle), javascript (--oracle), python (goldens), in parallel; Soufflé pinned and checksummed; compiled engine cached by rule-set id.
  • parser: the parser's own suites.
  • build: one aggregate job for the ruleset. A suite that skips, prints SKIP, or passes 0 cases fails the gate.
  • main-guard.yml: every commit on main arrived through a pull request.

Gone, because the parser lives here: the cross-repository fetch, PARSER_ACCESS_TOKEN, the parser-ref pin, the nightly parser-drift job. Node 22 (node:sqlite). Workflow named build.

This PR's own checks are the first run of the workflow.

…parser suites; a skipped suite is a failure

Supersedes #418, rebuilt on the consolidated tree and keeping its design: no path filters
(a required check that never reports can never merge), one aggregate job for the ruleset,
--oracle where ground truth is reachable (javac/javap for Java, the TypeScript compiler for
TypeScript and for JavaScript over allowJs/checkJs), Java without the torture families on
CI (they need the JVM platform IR), two Python interpreters, JDK 24, the pinned and
checksummed Soufflé package, and the compiled engine cached under the rule-set id.

Added for the tree as it is now: a fresh-clone job (npm install, typecheck, build, the
command runs and the parser writes IR — the failure that reached main in #477), the
JavaScript leg, the parser's own suites, the bundle and engine-id preflights among the
invariants, Node 22 (node:sqlite), and the workflow is named build so the badge reads it.
The parser is in this repository, so the separate-repository fetch, the parser-ref pin and
the nightly parser-drift job are gone. main-guard.yml (every commit on main came through a
pull request) and lib-coverage.sh are carried over; the Java suite gains --no-torture.
@swapnilpaliwal-sd swapnilpaliwal-sd added build Build, packaging and developer setup enhancement New feature or request platform OS / toolchain portability labels Sep 14, 2026
@swapnilpaliwal-sd swapnilpaliwal-sd self-assigned this Sep 14, 2026
@swapnilpaliwal-sd

Copy link
Copy Markdown
Contributor Author

Superseded by #418, which has been rebuilt on the current tree with the same design and more (the decls_base ↔ parser schema drift check). Three small additions from here are noted on #418.

@swapnilpaliwal-sd
swapnilpaliwal-sd deleted the ci-gate branch September 14, 2026 09:46
@swapnilpaliwal-sd swapnilpaliwal-sd changed the title ci: gate main — install, invariants, four engine suites, parser suites; skipped suites fail ci: gate main, install, invariants, four engine suites, parser suites; skipped suites fail Sep 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build Build, packaging and developer setup enhancement New feature or request platform OS / toolchain portability

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant