Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Testing: Speed up Docker setup on Travis for e2e tests #15748

Merged
merged 4 commits into from
May 22, 2019

Conversation

gziolo
Copy link
Member

@gziolo gziolo commented May 21, 2019

Description

This PR adds some improvements to the performance of Travis jobs as part of #15159.

The main difference in this proposal is that we no longer pull, create and start containers that are never used on Travis. This applies for jobs which run e2e tests and PHP unit tests.

Job Before After
Lint 1 min 55 sec 2 min 3 sec
Build artifacts 1 min 27 sec 1 min 25 sec
License compatibility 1 min 20 sec 1 min 18 sec
JavaScript unit tests 3 min 50 sec 4 min 35 sec
PHP unit tests (Docker) 5 min 59 sec 3 min 42 sec
E2E tests (Admin with plugins) (1/4) 11 min 14 sec 8 min 29 sec
E2E tests (Admin with plugins) (2/4) 10 min 48 sec 7 min 21 sec
E2E tests (Admin with plugins) (3/4) 12 min 56 sec 9 min 36 sec
E2E tests (Admin with plugins) (4/4) 10 min 46 sec 9 min 38 sec
E2E tests (Author without plugins) (1/4 13 min 41 sec 12 min 26 sec
E2E tests (Author without plugins) (2/4) 8 min 39 sec 7 min 58 sec
E2E tests (Author without plugins) (3/4) 10 min 22 sec 10 min 4 sec
E2E tests (Author without plugins) (4/4) 9 min 20 sec 8 min 34 sec
PHP unit tests (PHP 5.2) 3 min 22 sec 3 min 15 sec

It's very easy to notices that there is a huge gain on some of the jobs where they finish even 2-3 minutes faster!!!

Aside: I also tried to remove npm ci and npm run build from the jobs which run PHP unit tests but it turned out that it's still necessary for some tests to pass. See #15159 (comment) for more details.

How has this been tested?

Travis should pass all checks.

@gziolo gziolo added [Type] Automated Testing Testing infrastructure changes impacting the execution of end-to-end (E2E) and/or unit tests. [Type] Performance Related to performance efforts labels May 21, 2019
@gziolo gziolo force-pushed the try/faster-travis-env-setup branch from 1144b26 to 53a4ea9 Compare May 21, 2019 08:44
@gziolo gziolo self-assigned this May 21, 2019
@gziolo gziolo force-pushed the try/faster-travis-env-setup branch 2 times, most recently from 156d8d6 to 108b732 Compare May 21, 2019 09:54
@@ -2,20 +2,21 @@ version: '3.1'

services:

wordpress:
wordpress_dev:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you explain the rename? Is it going to be disruptive to anyone's personal workflows?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wanted to better express the intent of this service and make it distinct from the image name. I can revert it now that I confirmrd that everything works

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reverted in c0836cc. It isn't that important and I share your concern that it might cause some issues.

@gziolo gziolo force-pushed the try/faster-travis-env-setup branch from 108b732 to c0836cc Compare May 22, 2019 11:50
@gziolo gziolo added this to the 5.8 (Gutenberg) milestone May 22, 2019
@gziolo gziolo merged commit 884b3f9 into master May 22, 2019
@gziolo gziolo deleted the try/faster-travis-env-setup branch May 22, 2019 12:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Type] Automated Testing Testing infrastructure changes impacting the execution of end-to-end (E2E) and/or unit tests. [Type] Performance Related to performance efforts
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants