chore(ci): raise the dev PR gate to Typecheck + Unit Tests (linux) - #371
Merged
Conversation
The Typecheck-only PR->dev gate let an assertion-level regression (#368, missing SPDX headers) merge and keep dev's push-triggered full run red for 75 minutes. ci-test.yml now triggers on PRs to dev (the whole matrix runs, but only Unit Tests (linux) becomes required); spec_git/policy.yaml follows so specgit finish enforces the same pair. E2E stays push-on-dev + dev->main. Closes#370
…e tool The new PR->dev unit gate caught it (#371's own run): the exerciser's CI context has no resolvable model, and the environment-profile validation made model.unavailable a blocking 400 — while the workflow tool's start action asks a question instead (an HTTP caller has no such interaction; spawn fails loudly at execution time if a model never resolves). All other diagnostic classes stay blocking.
… a model-bearing session CI (no providers) exposed two layers: the advisory filter let a graph that never compiled (prepared === undefined) through to a confusing 'no prepared graph' 400 — a non-compiling graph is now always blocking regardless of diagnostic class; and the dag.start happy-path scenario relied on the pre-#344 behavior of never resolving a model. The scenario now runs under withLlm with an explicit session model so the parent resolution chain has something to resolve in the provider-less CI environment.
…28min) The verdict waits for every policy check to reach a terminal state; with Unit Tests (linux) now required on dev PRs, the 15min job cap timed out while the sibling was still running.
…was the real timeout The job-level 45min bump was necessary but not sufficient: the sibling-wait script carries its own hardcoded 15-minute deadline and gives up while Unit Tests (linux) (~28min) is still running.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes#370
What
Middle-tier dev gating (agreed with maintainer):
pull_request: branches: [main, dev]— the unit/e2e matrix now also runs on delivery PRs. Note the whole matrix triggers (including E2E as informational checks on dev PRs); onlyUnit Tests (linux)is added to the required set.required_checks: [Typecheck, Unit Tests (linux)]— hand-maintained (the CLI's auto-detector still writes matrix-placeholder names; skip-${{/dispatch-only filtering is pending upstream).Unit Tests (linux)to required checks (repo settings, not in this diff).Rationale
#368 (missing SPDX headers) merged through the Typecheck-only gate and kept dev red for 75 minutes; Unit Tests (linux) catches exactly that assertion-level class pre-merge for ~3-5 extra minutes per PR. Full gating (E2E, 20-40 min) buys little: dev→main runs the full suite and release is manual.
Verification
Unit Tests (linux)appear in its checks)