Skip to content

fix(e2e): docs_site test intermittently times out #1763

Description

@marcossevilla

Description

The create docs_site e2e test (e2e/test/commands/create/docs_site/docs_site_test.dart) intermittently times out on main.

Failing run: https://github.com/VeryGoodOpenSource/very_good_cli/actions/runs/37757567540/job/113245773965

TimeoutException after 0:02:00.000000: Test timed out after 2 minutes.
FileSystemException: Deletion failed, path = '/tmp/MCMMJN' (OS Error: Directory not empty, errno = 39)

The failing commit (#1756) is unrelated to docs_site, and the following run on main (37779724241) passed on the same code, so this is flakiness, not a regression.

Root cause

The test has a 2-minute timeout, but it normally takes almost that long:

Run Result "Run Tests (e2e)" step duration
35327672012 ✅ 1m52s
35616186431 ✅ 1m47s
36122147301 ✅ 1m49s
37757567540 ❌ 2m15s (timeout)

Most of the time goes to npm install. The generated project has no package-lock.json, and CI has no npm cache, so every run installs ~1,300 packages fresh from the registry. Timing each step locally:

Step Duration
npm install 72s
npm run format 1s
npm run lint 1s
npm run build 8s

On CI the time depends on registry speed, so the test sometimes runs past the limit.

The Directory not empty error is a side effect: the test teardown deletes the temp directory while npm is still writing to it after the timeout.

The 2-minute timeout was copied from the Dart/Flutter e2e tests. The other tests that install heavy dependencies already use longer limits: flame_game has 5 minutes and flutter_plugin has 8.

Proposed fix

  1. Raise the timeout in docs_site_test.dart to Duration(minutes: 5), matching flame_game.
  2. Optionally, speed up the install with npm install --no-audit --no-fund --prefer-offline. Caching npm through actions/setup-node won't work as-is, because it needs a lockfile and the template doesn't ship one.

Activity

  1. unicoderbot commented on Oct 19, 2026

    @unicoderbot
    Contributor

    Great, I will work on a PR and push it soon.

    • Preparing environment
      • Cloning repository
      • Setting up dev environment
    • Working on changes
    • Reviewing changes
    • Opening pull request

    I've opened a pull request: #1778

  2. moved this from Needs Triage to In Progress in VGV Open Source 🦄 🧙🌟on Oct 19, 2026
  3. added a commit that references this issue on Oct 19, 2026
    6291358
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions