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

GEODE-8230: run benchmarks in parallel with other CI jobs #5217

Conversation

onichols-pivotal
Copy link
Contributor

before, we ran Build, then all Test jobs in parallel (which takes ~5 hours), then all Benchmark jobs (which takes ~5 hours).

Presumably the benchmarks were run after all tests, on the premise that benchmarks are meaningless if the code is not correct. However, required PR checks now prevent incorrect code from getting into develop in the first place, and the remaining occasional failures are flaky, so it's rather arbitrary to gate benchmarks on a lottery.

However, faster feedback has clear benefits, hence this PR to cut our CI pipeline from 10 hours to 5 hours.

Also eliminates redundant jobs (ApiCheck and UnitTest are deterministic and already have required JDK11 flavors in the PR pipeline, so JDK8 flavor only is more than sufficient in the develop pipeline)

Also decreases benchmarks max_in_flight from 3 to 2, since now that we have support branches, we don't want to max our quota just from develop. Some sort of global "pool" resource might be a more elegant way to manage this resource quota across pipelines.

Copy link
Contributor

@dickcav dickcav left a comment

Choose a reason for hiding this comment

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

Let's try it and watch...

Copy link
Contributor

@dickcav dickcav left a comment

Choose a reason for hiding this comment

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

That's one tall-tower of jobs. Can we add a benchmark tab at the top to allow looking at only those jobs.

@onichols-pivotal onichols-pivotal merged commit f65ea45 into apache:develop Jun 9, 2020
@onichols-pivotal onichols-pivotal deleted the GEODE-8230-run-benchmarks-in-parallel-with-other-CI-jobs branch June 9, 2020 23:18
onichols-pivotal added a commit that referenced this pull request Jun 9, 2020
* run benchmarks in parallel with other CI jobs
* eliminate JDK11 flavors for deterministic already-required-in-PR-pipeline jobs UnitTest and ApiChecker
* add Benchmarks tab

(cherry picked from commit f65ea45)
onichols-pivotal added a commit that referenced this pull request Jun 9, 2020
* run benchmarks in parallel with other CI jobs
* eliminate JDK11 flavors for deterministic already-required-in-PR-pipeline jobs UnitTest and ApiChecker
* add Benchmarks tab

(cherry picked from commit f65ea45)
bschuchardt pushed a commit to bschuchardt/geode that referenced this pull request Jul 13, 2020
* run benchmarks in parallel with other CI jobs
* eliminate JDK11 flavors for deterministic job UnitTest
* add Benchmarks tab

(cherry picked from commit f65ea45)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants