Skip to content

The frontend e2e job runs every test one at a time, and takes over six minutes #686

Description

@thcp

The frontend-e2e CI job is now the slowest check on every pull request, at about six minutes, and it grows with every spec added.

It runs serially on purpose: workers: 1 and fullyParallel: false. The whole suite shares one backend and one jobs directory, and several specs change server state by trashing, importing or deleting jobs. Two workers against one backend would interfere with each other and fail intermittently, so raising workers is not a fix.

Constraints

  • Each unit of parallelism needs its own backend and its own jobs directory, or it inherits the shared-state problem.
  • Specs may rely on the order of the tests inside a file, so a file must stay together.
  • No spec should depend on what another file left behind on the server. If one does, splitting the suite will expose it, and that is a bug in the spec rather than a reason not to split.
  • The repository is public, so GitHub-hosted runner minutes cost nothing. Running more jobs in parallel is free, apart from each job's own setup time.
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

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions