-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
[CI] Optimise stash/unstash performance #18473
Conversation
💔 Tests FailedExpand to view the summary
Build stats
Test stats 🧪
Test errorsExpand to view the tests failures
Steps errorsExpand to view the steps failures
Log outputExpand to view the last 100 lines of log output
|
f671050
to
842fe7f
Compare
1a01539
to
161fc4f
Compare
161fc4f
to
df947c2
Compare
@@ -1027,7 +1029,7 @@ def terraformCleanup(String stashName, String directory) { | |||
stage("Remove cloud scenarios in ${directory}"){ | |||
withCloudTestEnv() { | |||
withBeatsEnv(false) { | |||
unstash "terraform-${stashName}" | |||
unstash("terraform-${stashName}") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cosmetic change
@@ -1176,7 +1178,7 @@ def runbld() { | |||
// Unstash the test reports | |||
stashedTestReports.each { k, v -> | |||
dir(k) { | |||
unstash v | |||
unstash(v) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cosmetic change
…w-oss * upstream/master: (27 commits) Disable host fields for "cloud", panw, cef modules (elastic#18223) [docs] Rename monitoring collection from legacy internal collection to legacy collection (elastic#18504) Introduce auto detection of format (elastic#18095) Add additional fields to address issue elastic#18465 for googlecloud audit log (elastic#18472) Fix libbeat import path in seccomp policy template (elastic#18418) Address Okta input issue elastic#18530 (elastic#18534) [Ingest Manager] Avoid Chown on windows (elastic#18512) Fix Cisco ASA/FTD msgs that use a host name as NAT address (elastic#18376) [CI] Optimise stash/unstash performance (elastic#18473) Libbeat: Remove global loggers from libbeat/metric and libbeat/cloudid (elastic#18500) Fix PANW bad mapping of client/source and server/dest packets and bytes (elastic#18525) Add a file lock to the data directory on startup to prevent multiple agents. (elastic#18483) Followup to 12606 (elastic#18316) changed input from syslog to tcp/udp due to unsupported RFC (elastic#18447) Improve ECS field mappings in Sysmon module. (elastic#18381) [Elastic Agent] Cleaner output of inspect command (elastic#18405) [Elastic Agent] Pick up version from libbeat (elastic#18350) Update communitybeats.asciidoc (elastic#18470) [Metricbeat] Change visualization interval from 15m to >=15m (elastic#18466) docs: Fix typo in kerberos docs (elastic#18503) ...
What does this PR do?
Stash and unstash with the Google storage plugin, this could help to have a more predictable time, since it does run in the workers rather than in the master.
Compress/uncompress is required as long as the Google storage plugin does not support multiple wildcards. Although I'd suggest to use a zip/tarball rather than uploading each of the 40k files....
Why is it important?
Speed up the overall build time when there are build peaks. There was an initial approach to tackle the performance issues in #17939.
Tasks
Performance
Linux
(similar)
(9x faster)
(~9x faster)
(~50x faster)
Windows
(~3x faster)
(~30x faster)
Issues
zip
step does not compress the.git
folderjar
command does not preserve permissions.