File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -7,6 +7,7 @@ name: conformance
77# scripts/ci-local.sh --quick # everything except the docker integration suite
88# The .githooks/pre-push hook also runs the TS build+typecheck gate locally, and the
99# cheap public-repo SECURITY gate (hygiene / leak-scan) still runs on every PR.
10+ # Push-to-main coverage now comes from local-ci.yml on the self-hosted runner.
1011on :
1112 push :
1213 tags :
Original file line number Diff line number Diff line change @@ -13,6 +13,7 @@ name: integration-tests
1313# scripts/ci-local.sh # full local CI (this suite + conformance + drift)
1414# scripts/integration-test.sh <port>
1515# The cheap public-repo SECURITY gate (hygiene / leak-scan) still runs on every PR.
16+ # Push-to-main coverage now comes from local-ci.yml on the self-hosted runner.
1617
1718on :
1819 push :
Original file line number Diff line number Diff line change @@ -66,8 +66,13 @@ bypasses branch protection. This hook closes that hole locally: when a push touc
6666` server/typescript/ ` or ` client/web/ ` , it runs the same `bun run --filter '* ' build &&
6767… typecheck` gate CI runs and ** blocks the push when it is red** (~ 6s on a clean tree;
6868skipped entirely for non-TS pushes). Bypass in an emergency with ` git push --no-verify `
69- or ` SKIP_TS_TYPECHECK=1 git push ` . The Java/C#/Python compile+conformance gates stay
70- CI-only (still required on PRs via branch protection).
69+ or ` SKIP_TS_TYPECHECK=1 git push ` . The Java/C#/Python compile+conformance gates do NOT run on PRs (hosted CI runs
70+ them on release tags + manual dispatch only, for cost). Instead, every push to
71+ ` main ` triggers ` local-ci.yml ` on the maintainer's self-hosted runner: affected
72+ ports only (via ` scripts/ci-affected-ports.sh ` ), parallel per-port jobs, each
73+ running ` scripts/ci-local.sh --only <port> --strict-toolchains ` ; a nightly
74+ dispatch runs the full matrix. PRs get the leak-scan only — run
75+ ` scripts/ci-local.sh --quick ` locally before opening one.
7176
7277## Monorepo layout
7378
Original file line number Diff line number Diff line change @@ -77,11 +77,10 @@ want() { # want <section> — true when the section should run
7777PASS=(); FAIL=(); SKIP=()
7878have () { command -v " $1 " > /dev/null 2>&1 ; }
7979
80- # bun's installer exits 1 when an OPTIONAL native dep fails to build (e.g. the
81- # ssh2/cpu-features chain) even though the workspace is fully usable — and an
82- # immediate re-run exits 0. Retry once so fresh checkouts (the self-hosted CI
83- # runner wipes its workdir every run) don't fail the gate on that flake; a
84- # genuinely broken install still fails both attempts.
80+ # bun exits 1 when an OPTIONAL native dep fails its install script (the
81+ # ssh2/cpu-features chain needs node-gyp on the machine — `npm i -g node-gyp`
82+ # fixes it for good). Retry once as defense-in-depth for transient installer
83+ # flakes; a genuinely broken install still fails both attempts.
8584bun_install () { bun install || bun install; }
8685
8786step () { # step "<name>" <cmd...>
You can’t perform that action at this time.
0 commit comments