chore: untrack tsconfig.tsbuildinfo, and hold the CI baseline the way the local gate does
`frontend/tsconfig.tsbuildinfo` was swept into the previous commit by a `git add -A`. It is a machine-local incremental artifact carrying absolute Windows paths, no lane reads or regenerates it, and it was already stale in the commit that added it — it does not list the contract test that same commit created. Untracked, and `*.tsbuildinfo` ignored, because the day anything does start rewriting it a green gate would leave a tracked file dirty: the exact hazard the basedpyright baseline just got a guard for. And CI ran bare basedpyright while the local lane gained that guard, so a burn-down would have been green on the server and red on the developer's machine over the same tree. Two gates, one tree, one answer.
This commit is contained in:
@@ -96,10 +96,19 @@ jobs:
|
|||||||
# The ninth lane (E27 S3). Run from backend/ so it resolves exactly as the local lane does —
|
# The ninth lane (E27 S3). Run from backend/ so it resolves exactly as the local lane does —
|
||||||
# pyrightconfig.json's include/extraPaths are relative to the config, but the baseline is
|
# pyrightconfig.json's include/extraPaths are relative to the config, but the baseline is
|
||||||
# found relative to the working directory. New errors fail; the ~200 pre-existing ones are in
|
# found relative to the working directory. New errors fail; the ~200 pre-existing ones are in
|
||||||
# .basedpyright/baseline.json and burn down epic by epic.
|
# .basedpyright/baseline.json and burn down epic by epic. Matching is per (file, rule, column
|
||||||
|
# span) plus a count, so a new error of the SAME shape in a file where a sibling was just
|
||||||
|
# fixed is absorbed — burn the hot files down first.
|
||||||
|
#
|
||||||
|
# The second step is not redundant. basedpyright TIGHTENS the baseline in place when the count
|
||||||
|
# drops, with no --writebaseline, and CI throws its workspace away — so without this a
|
||||||
|
# burn-down is green here and red on the developer's `siftlode check`, which has the same
|
||||||
|
# guard. Two gates over one tree must not answer differently.
|
||||||
- name: basedpyright
|
- name: basedpyright
|
||||||
run: python -m basedpyright --project pyrightconfig.json
|
run: python -m basedpyright --project pyrightconfig.json
|
||||||
working-directory: backend
|
working-directory: backend
|
||||||
|
- name: basedpyright baseline is committed
|
||||||
|
run: git diff --exit-code -- backend/.basedpyright/baseline.json
|
||||||
- name: pytest
|
- name: pytest
|
||||||
run: python -m pytest
|
run: python -m pytest
|
||||||
working-directory: backend
|
working-directory: backend
|
||||||
|
|||||||
@@ -37,3 +37,7 @@ backups/
|
|||||||
Thumbs.db
|
Thumbs.db
|
||||||
.idea/
|
.idea/
|
||||||
.vscode/
|
.vscode/
|
||||||
|
|
||||||
|
# TypeScript incremental build artifacts — machine-local, absolute-path-bearing, and no gate lane
|
||||||
|
# reads or regenerates them, so a committed one is stale from the commit that adds it.
|
||||||
|
*.tsbuildinfo
|
||||||
|
|||||||
Reference in New Issue
Block a user