-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
Split Kibana ci job into much smaller chunks, more Jenkins workers, shorter elapsed time #22359
Conversation
This comment has been minimized.
This comment has been minimized.
Based on these results I'm going to split the visualize tests out into their own job. Dashboard about 25 minutes, Visualize about 26 minutes, and all the rest should be about 20 minutes) Dashboard tests setup starting:
Dashboard tests actually starting:
Dashboard tests finishing (26 minutes not counting setup):
Non-Dashboard tests setup starting:
Non-Dashboard tests actually starting:
Non-Dashboard tests finishing (45 minutes not counting setup):
Plugin functional tests setup starting:
Plugin function tests actually starting:
Plugin functional tests finishing:
|
This comment has been minimized.
This comment has been minimized.
Starting to dig into the x-pack tests;
|
With the latest commit to split Visualize out to it's own config, the total Selenium job was ( 1 hr 41 min ).
What I'm seeing from this, is that the first set of functional tests in the Selenium job (currently the dashboard tests) don't start until 00:19:19 (in this case, to 00:22:23 in the first case further above). And those dashboard tests finish 48 to 49 minutes after the job started. @spalger has some ideas to speed this up. |
@LeeDr I would still like to be able to run everything together locally, will that be possible? Also, will I need to make the same changes in current cloud CI and upcoming windows support? If so, I will take a look at what changes we need to do and we can discuss after this PR is finalized. Thanks. |
This comment has been minimized.
This comment has been minimized.
OK with the new ciGroups implementation (on UI functional Selenium only, not X-Pack) we got this;
I'm going to change a few things up and try again. |
This comment has been minimized.
This comment has been minimized.
Latest test;
|
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
jenkins test this |
This comment has been minimized.
This comment has been minimized.
Last run failed on this selenium test.
Jenkins test this |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
685a673
to
4dfee2f
Compare
💚 Build Succeeded |
a6b7de4
to
2c54862
Compare
This comment has been minimized.
This comment has been minimized.
💚 Build Succeeded |
💚 Build Succeeded |
💚 Build Succeeded |
💚 Build Succeeded |
## Summary This pr adds a `--test-stats` flag to the functional test runner that will allow extracting information from a specific config/tags combo about how many tests will run and how many are excluded. This is necessary as part of elastic#22359 so we can effectively ignore specific configs (avoiding starting es and kibana) when there aren't any tests that will be run. ### Checklist Use ~~strikethroughs~~ to remove checklist items you don't feel are applicable to this PR. ~~- [ ] This was checked for cross-browser compatibility, [including a check against IE11](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#cross-browser-compatibility)~~ ~~- [ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/master/packages/kbn-i18n/README.md)~~ ~~- [ ] [Documentation](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#writing-documentation) was added for features that require explanation or tutorials~~ ~~- [ ] [Unit or functional tests](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#cross-browser-compatibility) were updated or added to match the most common scenarios~~ ~~- [ ] This was checked for [keyboard-only and screenreader accessibility](https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Accessibility#Accessibility_testing_checklist)~~ ### For maintainers ~~- [ ] This was checked for breaking API changes and was [labeled appropriately](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#release-notes-process)~~ ~~- [ ] This includes a feature addition or change that requires a release note and was [labeled appropriately](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#release-notes-process)~~
## Summary This pr adds a `--test-stats` flag to the functional test runner that will allow extracting information from a specific config/tags combo about how many tests will run and how many are excluded. This is necessary as part of #22359 so we can effectively ignore specific configs (avoiding starting es and kibana) when there aren't any tests that will be run. ### Checklist Use ~~strikethroughs~~ to remove checklist items you don't feel are applicable to this PR. ~~- [ ] This was checked for cross-browser compatibility, [including a check against IE11](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#cross-browser-compatibility)~~ ~~- [ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/master/packages/kbn-i18n/README.md)~~ ~~- [ ] [Documentation](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#writing-documentation) was added for features that require explanation or tutorials~~ ~~- [ ] [Unit or functional tests](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#cross-browser-compatibility) were updated or added to match the most common scenarios~~ ~~- [ ] This was checked for [keyboard-only and screenreader accessibility](https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Accessibility#Accessibility_testing_checklist)~~ ### For maintainers ~~- [ ] This was checked for breaking API changes and was [labeled appropriately](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#release-notes-process)~~ ~~- [ ] This includes a feature addition or change that requires a release note and was [labeled appropriately](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#release-notes-process)~~
This PR has gotten a little out of control, so I'm resubmitting as #25838 |
## Summary This pr adds a `--test-stats` flag to the functional test runner that will allow extracting information from a specific config/tags combo about how many tests will run and how many are excluded. This is necessary as part of #22359 so we can effectively ignore specific configs (avoiding starting es and kibana) when there aren't any tests that will be run. ### Checklist Use ~~strikethroughs~~ to remove checklist items you don't feel are applicable to this PR. ~~- [ ] This was checked for cross-browser compatibility, [including a check against IE11](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#cross-browser-compatibility)~~ ~~- [ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/master/packages/kbn-i18n/README.md)~~ ~~- [ ] [Documentation](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#writing-documentation) was added for features that require explanation or tutorials~~ ~~- [ ] [Unit or functional tests](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#cross-browser-compatibility) were updated or added to match the most common scenarios~~ ~~- [ ] This was checked for [keyboard-only and screenreader accessibility](https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Accessibility#Accessibility_testing_checklist)~~ ### For maintainers ~~- [ ] This was checked for breaking API changes and was [labeled appropriately](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#release-notes-process)~~ ~~- [ ] This includes a feature addition or change that requires a release note and was [labeled appropriately](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#release-notes-process)~~
This is the first crack at splitting the UI Functional tests into 2 jobs. One for dashboard tests and the other non_dashboard (everything else).
No changes to x-pack tests yet.
Baseline from a very recent passing master build;