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: always cache maven dependencies #12424
Conversation
Test Results1 054 files ± 0 1 054 suites ±0 1h 55m 34s ⏱️ - 10m 2s Results for commit b42252d. ± Comparison against base commit fd19810. This pull request removes 664 and adds 585 tests. Note that renamed tests count towards both.
♻️ This comment has been updated with latest results. |
f1c990b
to
ec81138
Compare
@oleschoenburg what's missing for this one? recently I noticed docker checks and some smoke jobs seem to be the ones taking the most time now, I guess caching could help to reduce their duration. Shall we rebase and evaluate the effect with a couple of runs? |
@megglos Nothing really. I wanted to try out a dedicated caching job that runs on main so that PRs only restore a cache but really this can be a different PR if we even want to do this. I'll rebase and start a couple of runs. Thanks for the reminder 👍 |
ec81138
to
7fa26fc
Compare
1f016d6
to
792cc54
Compare
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.
🚀
-D maven.artifact.threads=32 | ||
EOF | ||
- name: Cache local Maven repository | ||
if: inputs.java == 'true' && startsWith(runner.name, 'actions-runner-') |
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.
🤡 Shame we can't access the labels here =/
bors r+ |
bors r- |
Canceled. |
This creates `.mvn/maven.config` with config that we want to use for all maven invocations in CI. Otherwise, it's easy to make changes where we would suddenly run maven with different config that is either incompatible or not as reliable.
This ensures that we don't cache locally installed artifacts or snapshot artifacts from our dependencies.
81df9ce
to
91983b0
Compare
bors merge |
Build succeeded: |
Backport failed for Please cherry-pick the changes locally. git fetch origin stable/8.0
git worktree add -d .worktree/backport-12424-to-stable/8.0 origin/stable/8.0
cd .worktree/backport-12424-to-stable/8.0
git checkout -b backport-12424-to-stable/8.0
ancref=$(git merge-base dc94b82a91a41061fdab55d7cbfbd3d901d7d3b2 91983b025667cd72aba97087ce43ba571f10aa71)
git cherry-pick -x $ancref..91983b025667cd72aba97087ce43ba571f10aa71 |
Backport failed for Please cherry-pick the changes locally. git fetch origin stable/8.1
git worktree add -d .worktree/backport-12424-to-stable/8.1 origin/stable/8.1
cd .worktree/backport-12424-to-stable/8.1
git checkout -b backport-12424-to-stable/8.1
ancref=$(git merge-base dc94b82a91a41061fdab55d7cbfbd3d901d7d3b2 91983b025667cd72aba97087ce43ba571f10aa71)
git cherry-pick -x $ancref..91983b025667cd72aba97087ce43ba571f10aa71 |
Successfully created backport PR for |
This PR changes how we use and cache the local maven repository. This allows us to always build Zeebe in parallel and makes caching a more reliable.
To do this, we are using a new repository layout that supports concurrent builds and that splits release and snapshot artifacts. Splitting is very useful for us because we can now ensure that we only cache released artifacts and that locally built snapshot artifacts are not reused because that would be a correctness hazard.
Caching of maven dependencies is now always enabled but we split the caches between GH- and self-hosted (because they are not compatible with each other) and we use more cache modifiers to ensure that jobs that built only part of Zeebe don't create caches that are too small, i.e. contain only a few of Zeebe's dependencies.
Latest test run is here: https://github.com/camunda/zeebe/actions/runs/4916223809