On a fresh clone, script/bootstrap printed bootstrap complete but the first make test-e2e died with Cannot find module 'playwright-core'. A plain yarn install --frozen-lockfile fixed it in 0.76s.
Observed once and not reproducible on a second attempt, so this is filed as a suspected flake in install_js_deps rather than a confirmed defect. Recording it rather than dropping it because the failure mode is expensive: bootstrap reports success, so the natural reading of the subsequent error is that the e2e harness itself is broken, not that dependencies are half-installed.
Implementation requirements
Establish whether install_js_deps can exit 0 with an incomplete node_modules — check whether any yarn invocation's exit status is discarded, and whether the workspace layout matters (/srv/code/package.json declares yarn workspaces, so a clone made inside that tree hoists into a shared node_modules, which is a plausible source of this).
If the cause cannot be reproduced, add a cheap post-install verification instead: assert the modules the e2e harnesses actually require are resolvable, and fail bootstrap loudly if not.
Do not paper over it with a blind second yarn install.
Definition of done
script/bootstrap cannot report success while a dependency the test targets need is unresolvable.
The failure names the missing module and what to do about it.
TODO.md updated in the same commit.
make check passes.
On a fresh clone, `script/bootstrap` printed `bootstrap complete` but the first `make test-e2e` died with `Cannot find module 'playwright-core'`. A plain `yarn install --frozen-lockfile` fixed it in 0.76s.
Observed once and not reproducible on a second attempt, so this is filed as a suspected flake in `install_js_deps` rather than a confirmed defect. Recording it rather than dropping it because the failure mode is expensive: bootstrap reports success, so the natural reading of the subsequent error is that the e2e harness itself is broken, not that dependencies are half-installed.
## Implementation requirements
- Establish whether `install_js_deps` can exit 0 with an incomplete `node_modules` — check whether any `yarn` invocation's exit status is discarded, and whether the workspace layout matters (`/srv/code/package.json` declares yarn workspaces, so a clone made inside that tree hoists into a shared `node_modules`, which is a plausible source of this).
- If the cause cannot be reproduced, add a cheap post-install verification instead: assert the modules the e2e harnesses actually require are resolvable, and fail bootstrap loudly if not.
- Do not paper over it with a blind second `yarn install`.
## Definition of done
- [ ] `script/bootstrap` cannot report success while a dependency the test targets need is unresolvable.
- [ ] The failure names the missing module and what to do about it.
- [ ] `TODO.md` updated in the same commit.
- [ ] `make check` passes.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
On a fresh clone,
script/bootstrapprintedbootstrap completebut the firstmake test-e2edied withCannot find module 'playwright-core'. A plainyarn install --frozen-lockfilefixed it in 0.76s.Observed once and not reproducible on a second attempt, so this is filed as a suspected flake in
install_js_depsrather than a confirmed defect. Recording it rather than dropping it because the failure mode is expensive: bootstrap reports success, so the natural reading of the subsequent error is that the e2e harness itself is broken, not that dependencies are half-installed.Implementation requirements
install_js_depscan exit 0 with an incompletenode_modules— check whether anyyarninvocation's exit status is discarded, and whether the workspace layout matters (/srv/code/package.jsondeclares yarn workspaces, so a clone made inside that tree hoists into a sharednode_modules, which is a plausible source of this).yarn install.Definition of done
script/bootstrapcannot report success while a dependency the test targets need is unresolvable.TODO.mdupdated in the same commit.make checkpasses.