fix(e2e): migrate demo project and full-flow suite to v2 (TV4.3)#23
Merged
Conversation
main CI regressed to red after v2 landed: the v2 config loader rejects examples/demo-project's schemaVersion 1.0 config, so the E2E suite failed with "Unexpected end of JSON input" (the CLI emitted no report). Migrate the demo project and the E2E harness to the v2 model using path-linked checks: - examples/demo-project/sentiness.config.json is now schemaVersion 2.0 with an engine pin and a path-linked biome check. - The harness writes v2 configs (buildV2Config) that path-link each check to its built package under packages/checks/* via a project-relative path, replacing the node_modules/@Sentiness symlink setup. - The non-interactive `init` E2E assertion now expects the v2 output ({ biome: { version: '*', tier: 'fast' } }). Path-linked checks need no cache, no `sentiness install`, and no project node_modules: the engine resolves them directly from the repo, and each check's external tool (biome) resolves from the inherited PATH (cliEnv prepends the repo node_modules/.bin). All 14 E2E cases pass, alongside 209 unit tests, typecheck, lint, check:release-packages (15 packages), and the dogfood check --tier=fast.
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 free
to 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.
Fixes the red
mainCI after the v2 stack (#17–#21) landed.Why CI broke
mainCI failed at E2E tests withSyntaxError: Unexpected end of JSON input. Root cause:examples/demo-project/sentiness.config.jsonwas stillschemaVersion: '1.0', which the v2 config loader rejects, so the CLI emitted no report for the harness to parse. (Unit tests were already fixed by #18; this was the remaining gate.)Change
Migrate the demo project and the E2E harness to the v2 model using path-linked checks:
examples/demo-project/sentiness.config.json→schemaVersion: '2.0'with anenginepin and a path-linkedbiomecheck (../../packages/checks/biome).buildV2Config) that path-link each check to its built package underpackages/checks/*via a project-relative path, replacing thenode_modules/@sentinesssymlink setup.initE2E assertion now expects the v2 output ({ biome: { version: '*', tier: 'fast' } }).Path-linked checks need no cache, no
sentiness install, and no projectnode_modules: the engine resolves them directly from the repo, and each check's external tool (biome) still resolves from the inherited PATH (cliEnvprepends the reponode_modules/.bin). This keeps the E2E fast and hermetic without standing up the cache/launcher machinery.Verification (all local, matching the CI job order)
pnpm test:e2e→ 14 passed.pnpm test→ 209 passed.pnpm -r typecheck,pnpm lint→ clean.pnpm check:release-packages→ 15 packages.pnpm sentiness check --tier=fast --compact→ exit 0.