Skip to content

ci(integration): split slowest behat suites to reduce wall-clock time#59481

Draft
joshtrichards wants to merge 16 commits intomasterfrom
jtr/ci-split-slow-integration-suites
Draft

ci(integration): split slowest behat suites to reduce wall-clock time#59481
joshtrichards wants to merge 16 commits intomasterfrom
jtr/ci-split-slow-integration-suites

Conversation

@joshtrichards
Copy link
Copy Markdown
Member

  • Resolves: #

Summary

Splits the two slowest jobs in the integration-sqlite workflow (sharing_features ~20m and files_features ~18m) into parallel matrix entries to reduce overall CI wall-clock time.

Changes

sharing_features split into 3 entries:

  • sharing-v1.feature + sharing-activity.feature
  • sharing-v1-part2.feature
  • sharing-v1-part3.feature + sharing-v1-part4.feature

files_features split into 3 entries via Behat tags:

  • @tags: runs tags.feature
  • @transfer-ownership: runs transfer-ownership.feature
  • Remainder: all other file features (checksums, downloads, encryption, etc.)

Note: Added @tags and @transfer-ownership annotations to the feature files. These are scoped to this workflow and have no side effects.

Impact

Before After
Matrix Entries 20 24
Wall-clock Time ~20m ~9m
Total Runner Time +~2m (overhead)

How to verify

Compare the integration-sqlite wall-clock time of this PR against master. The longest individual job should be reduced by approximately 50%.

TODO

  • ...

Checklist

AI (if applicable)

  • The content of this PR was partly or fully generated using AI

Signed-off-by: Josh <josh.t.richards@gmail.com>
Signed-off-by: Josh <josh.t.richards@gmail.com>
…el jobs

Split sharing_features and files_features into separate matrix entries to reduce wall-clock time by running them in parallel.

sharing_features (~20m) is split by its existing part files into 3 jobs.
files_features (~18m) is split by @tags and @Transfer-ownership feature annotations into 3 jobs.

This adds 4 matrix entries (20 → 24) with minor setup overhead each, and should reduce the critical path by 50% (e.g. from ~20m to ~9m).

Signed-off-by: Josh <josh.t.richards@gmail.com>
Signed-off-by: Josh <josh.t.richards@gmail.com>
Signed-off-by: Josh <josh.t.richards@gmail.com>
Signed-off-by: Josh <josh.t.richards@gmail.com>
Signed-off-by: Josh <josh.t.richards@gmail.com>
Signed-off-by: Josh <josh.t.richards@gmail.com>
Signed-off-by: Josh <josh.t.richards@gmail.com>
Signed-off-by: Josh <josh.t.richards@gmail.com>
Signed-off-by: Josh <josh.t.richards@gmail.com>
Signed-off-by: Josh <josh.t.richards@gmail.com>
Signed-off-by: Josh <josh.t.richards@gmail.com>
Signed-off-by: Josh <josh.t.richards@gmail.com>
Signed-off-by: Josh <josh.t.richards@gmail.com>
Signed-off-by: Josh <josh.t.richards@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant