📝 Say compat is CI-only and run by hand locally
The pipeline bullet's "(push to `main` / tag)" read like a local push hook. State plainly that `compat` has no local tier — it is not in `check`, `verify`, `test:ci` or any hook — and is run manually with `build && test:compat`.
This commit is contained in:
1 parent
00ed6bee1e
commit
ebe58a9167
2 files changed
+14
-9
No files matched your search
+9
-5
@@ -6,9 +6,12 @@ the job graph; this file records why it is shaped the way it is.
|
||||
## Pipeline
|
||||
|
||||
- **`build`** (push to `main` / tag) — build + correctness + packaging.
|
||||
- **`compat`** (push to `main` / tag) — type-check the suite and a consumer
|
||||
fixture against the minimum supported TypeScript; consumes `build`'s `dist/`
|
||||
and gates `publish`. See [§ TypeScript compatibility](#typescript-compatibility).
|
||||
- **`compat`** (CI only) — type-check the suite and a consumer fixture against
|
||||
the minimum supported TypeScript; consumes `build`'s `dist/` and gates
|
||||
`publish`. It has **no local tier**: it never runs in a hook or in
|
||||
`check` / `verify` / `test:ci`; run it by hand with
|
||||
`npm run build && npm run test:compat`. See
|
||||
[§ TypeScript compatibility](#typescript-compatibility).
|
||||
- **`maintain`** (push to `main`, non-blocking) — `npm run maintain`; reports,
|
||||
never fails the build.
|
||||
- **`publish`** (tag) — packaging checks + `publish:publint` / `publish:attw`,
|
||||
@@ -151,8 +154,9 @@ source of truth) and documented in [README § Requirements](../README.md#require
|
||||
put a second compiler in the local `check` / `verify` loop and every editor.
|
||||
- **CI-only is the point.** `npx` fetches over the network — like `maintain`'s
|
||||
scans, a network-bound check is never a local feedback tier (see
|
||||
[workflow.md § Feedback tiers](./workflow.md#feedback-tiers)). Locally the
|
||||
same gate is reproducible with `npm run build && npm run test:compat`.
|
||||
[workflow.md § Feedback tiers](./workflow.md#feedback-tiers)). It is not in
|
||||
`check`, `verify`, `test:ci` or any hook; locally it is run **by hand** with
|
||||
`npm run build && npm run test:compat`.
|
||||
- **`compat` consumes `build`'s artifact** rather than rebuilding, so it judges
|
||||
the exact bytes `check`, `test:ci` and `publint` saw.
|
||||
- **`compat` gates `publish`** because the types are the feature: an artifact
|
||||
|
||||
Reference in new issue
Block a user