-
Notifications
You must be signed in to change notification settings - Fork 971
[INFRA] Introduce mvnd to speed up CI jobs of Dependency, Licence and Style Check
#4274
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
Conversation
mvnd in Dependency Check CI job
373a699 to
494078f
Compare
mvnd in Dependency Check CI jobmvnd in Dependency and Style Checking CI job
mvnd in Dependency and Style Checking CI jobmvnd in Dependency and Style Checking CI job
076ab8e to
f6d0eb2
Compare
Codecov Report
@@ Coverage Diff @@
## master #4274 +/- ##
============================================
- Coverage 53.42% 53.36% -0.06%
Complexity 13 13
============================================
Files 560 560
Lines 30571 30571
Branches 4140 4140
============================================
- Hits 16333 16315 -18
- Misses 12705 12721 +16
- Partials 1533 1535 +2
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
mvnd in Dependency and Style Checking CI jobmvnd in Dependency and Style Check CI job
| # Preserve the calling directory | ||
| _CALLING_DIR="$(pwd)" | ||
| # Options used during compilation | ||
| _COMPILE_JVM_OPTS="-Xms2g -Xmx2g -XX:ReservedCodeCacheSize=1g -Xss128m" |
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.
Github Action limit memory: 6947m, we may increase the max heap size?
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.
build/mvnd is designed for the usage of both on local machine and also the GitHub action, so I would prefer to keep -Xmx here the same as in build/mvn. And we could increase the memory limit in CI jobs by passing opts.
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.
https://github.com/apache/spark/blob/master/.github/workflows/build_and_test.yml#L950
Marking the memory limit in Spark as above.
.github/workflows/dep.yml
Outdated
| # when pom changes | ||
| - '**/pom.xml' | ||
| # when dependency workflow changes | ||
| - .github/workflows/dep.yaml |
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.
unnecessary changes?
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.
To verify using mvnd in dependency workflows. Changes in dep.yaml should trigger the jobs defined from the file itself.
|
I suppose this target to 1.8? |
I think |
|
Sorry for confusing, I mean target to Kyuubi 1.8.0 |
OK, let's wait for the 1.8.0-SNAPSHOT on master branch. |
mvnd in Dependency and Style Check CI jobmvnd to speed up CI jobs of Dependency, Licence and Style Check
|
Thanks, merged to master for 1.8 |
…mvnd in CI jobs ### _Why are the changes needed?_ - concurrent execution and smart builder is shipped with `mvnd`, but the CI log shows they are not activated - increase maximum degree of concurrency and utilize `SmartBuilder` feature in `mvnd`. `-Dmvnd.minThreads` is set as fallback and it will be ignored if `--threads` or `-Dmvnd.threads` is used. #### Before: (https://github.com/apache/kyuubi/actions/runs/4276652363/jobs/7444896450#step:6:64) ``` [INFO] Build maximum degree of concurrency is 1 ``` #### After: (https://github.com/apache/kyuubi/actions/runs/4279322563/jobs/7449912132#step:8:64) ``` [INFO] Using the SmartBuilder implementation with a thread count of 4 [INFO] Build maximum degree of concurrency is 4 ``` (https://github.com/apache/kyuubi/actions/runs/4279322563/jobs/7449912132#step:8:553) ``` [INFO] Segment walltime 13 s, segment projects service time 36 s, effective/maximum degree of concurrency 2.63/4 ``` ### _How was this patch tested?_ - [ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible - [ ] Add screenshots for manual tests if appropriate - [x] [Run test](https://kyuubi.readthedocs.io/en/master/develop_tools/testing.html#running-tests) locally before make a pull request Closes #4420 from bowenliang123/mvnd-smart. Closes #4274 64f0cc5 [liangbowen] update 391da26 [liangbowen] quite in dep and style jobs c776356 [liangbowen] use -Dmvnd.minThreads d10bfb7 [liangbowen] use -Dmvnd.minThreads f793d2b [liangbowen] warn bbb929f [liangbowen] quiet a5e6d49 [liangbowen] logging warn level 3cfbaad [liangbowen] enable quite option and cancel redirect stderr 09442ff [liangbowen] update ca5f855 [liangbowen] try to redirect stderr 0ebdd18 [liangbowen] set completion and print MAVEN_CLI_OPTS d3b2c96 [liangbowen] revert explicitly setting `mvnd.noBuffering` e2eca01 [liangbowen] revert explicitly setting `mvnd.noBuffering` dba25e3 [liangbowen] explicitly set `mvnd.noBuffering` to false prevent displaying events continuously b7583f9 [liangbowen] shell d60ebd0 [liangbowen] change mvnd cache key 2cc576e [liangbowen] dep bbd6414 [liangbowen] move multithread setting to mvnd's MAVEN_CLI_OPTS 347b58c [liangbowen] increase concurrency for spotless check 15c5519 [liangbowen] increase concurrency Authored-by: liangbowen <liangbowen@gf.com.cn> Signed-off-by: liangbowen <liangbowen@gf.com.cn>
…ncy for mvnd in CI jobs" This reverts commit 5fab9b7.
…f Dependency, Licence and Style Check" This reverts commit d862272.
|
Hi, I'm considering using mvnd in github actions too. I see mvnd usage was eventually reverted in this commit, and I'm wondering what was the reason? I would like to find out about drawbacks of mvnd adoption in github actions before I have to learn the hard way 🤣 |
Why are the changes needed?
Motivation:
mvnd(https://github.com/apache/maven-mvnd).mvnditself embeds exactly the same distribution of maven with more improvements and features on the client side and compilation server in daemon mode.Changes in this PR:
mvndby addingbuild/mvndscriptmvndversion0.9.0which embedsmaven3.8.7. The maven version embedded inmvndis also check and guaranteed the same as maven version required in pom bybuild/mvndscript.Comparision
(both with maven dependencies cached in local repo)
build/mvnbuild/mvndfastprofile)build/mvnd clean install -Pfastbuild/mvn clean install -PfastHow was this patch tested?
Add some test cases that check the changes thoroughly including negative and positive cases if possible
Add screenshots for manual tests if appropriate
Run test locally before make a pull request