Faster CI: Use Larger Runners#2068
Merged
felixge merged 9 commits intoJun 26, 2023
Merged
Conversation
BenchmarksBenchmark execution time: 2023-06-25 21:07:22 Comparing candidate commit aa14747 in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 24 metrics, 0 unstable metrics. |
felixge
marked this pull request as ready for review
June 25, 2023 14:45
This was referenced Jun 25, 2023
Closed
This reverts commit 4aae4c5. Putting this job on the large runners screws the build scheduling for test-contrib. Let's not do it for now.
felixge
deleted the
felix.geisendoerfer/PROF-7836-faster-ci-use-large-runner
branch
June 26, 2023 08:06
1 task
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
test-core,test-contribandparametric-testsCI jobs.test-contribbeforetest-coreby relocating it in the YAML file.As a result median CI time should be reduced from ~13.5 minutes to ~7.5 minutes (rough guess based on a few runs). We'll have to wait for a couple weeks before we can analyze the new P95 latency (I don't feel like writing a script to trigger hundreds of CI jobs now 😅).
Motivation
Using larger runners allows our tests to run faster because we're testing many packages, and
go testautomatically builds and executes packages in parallel. The larger runners we use have 16 vCPUs vs the default of 2 vCPUs provided by GitHub.Enqueuing
test-contribbeforetest-coreachieves optimal scheduling when our standby runner is available. In that casetest-contribstarts executing right away, whiletest-corehas to wait for another runner to spin up. But sincetest-coreis much faster, it ends up finishing at roughly the same time astest-contrib🥳. We could also consider assigning a large runner to ourlintjob, but based on the current timing this wouldn't provide a significant latency benefit. See example below.See internal
Faster CI for dd-trace-go 🚀google doc for more information.Describe how to test/QA your changes
Reviewer's Checklist