You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@uniffle.apache.org by "kaijchen (via GitHub)" <gi...@apache.org> on 2023/02/15 05:05:43 UTC
[GitHub] [incubator-uniffle] kaijchen opened a new pull request, #602: chore: speed up CI workflows
kaijchen opened a new pull request, #602:
URL: https://github.com/apache/incubator-uniffle/pull/602
### What changes were proposed in this pull request?
1. Split unit test and integration test
2. Enable maven parallel build (`-T1C`)
3. Do not use matrix in deploy/kubernetes workflow
4. Delay some secondary workflows
### Why are the changes needed?
#580
Make CI faster.
In case of failure, rerun the failed part only.
### Does this PR introduce _any_ user-facing change?
No.
### How was this patch tested?
https://github.com/kaijchen/incubator-uniffle/actions/runs/4180474332
<img width="979" alt="image" src="https://user-images.githubusercontent.com/5821159/218936913-30318234-d0c8-48c7-bc9d-beb9f204f3da.png">
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@uniffle.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@uniffle.apache.org
For additional commands, e-mail: issues-help@uniffle.apache.org
[GitHub] [incubator-uniffle] kaijchen commented on pull request #602: [#580] chore: speed up CI workflows
Posted by "kaijchen (via GitHub)" <gi...@apache.org>.
kaijchen commented on PR #602:
URL: https://github.com/apache/incubator-uniffle/pull/602#issuecomment-1431379851
Thanks @advancedxy for the review.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@uniffle.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@uniffle.apache.org
For additional commands, e-mail: issues-help@uniffle.apache.org
[GitHub] [incubator-uniffle] kaijchen commented on pull request #602: [#580] chore: speed up CI workflows
Posted by "kaijchen (via GitHub)" <gi...@apache.org>.
kaijchen commented on PR #602:
URL: https://github.com/apache/incubator-uniffle/pull/602#issuecomment-1431372220
> Ah, I didn't see that coming since you don't specify `-DskipIT`..
Because integration tests are executed by the `maven-surefire-plugin` also.
`maven-surefire-plugin` is designed to run UT, and controlled by `-DskipUT`.
I tried to run integration tests by `maven-failsafe-plugin` in #598, but it was too slow.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@uniffle.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@uniffle.apache.org
For additional commands, e-mail: issues-help@uniffle.apache.org
[GitHub] [incubator-uniffle] advancedxy commented on a diff in pull request #602: [#580] chore: speed up CI workflows
Posted by "advancedxy (via GitHub)" <gi...@apache.org>.
advancedxy commented on code in PR #602:
URL: https://github.com/apache/incubator-uniffle/pull/602#discussion_r1107101943
##########
.github/workflows/parallel.yml:
##########
@@ -79,7 +79,7 @@ jobs:
mvn-${{ inputs.java-version }}-package-${{ matrix.profile }}-
mvn-${{ inputs.java-version }}-package-
- name: Execute `mvn ${{ inputs.maven-args }} -P${{ matrix.profile }}`
- run: mvn -B -fae ${{ inputs.maven-args }} -P${{ matrix.profile }} | tee /tmp/maven.log
+ run: mvn -T1C -B -fae ${{ inputs.maven-args }} -P${{ matrix.profile }} | tee /tmp/maven.log
Review Comment:
yeah, maybe. But it maybe flaky test and it's hard to debug.
But I'm ok with this
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@uniffle.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@uniffle.apache.org
For additional commands, e-mail: issues-help@uniffle.apache.org
[GitHub] [incubator-uniffle] kaijchen commented on pull request #602: [#580] chore: speed up CI workflows
Posted by "kaijchen (via GitHub)" <gi...@apache.org>.
kaijchen commented on PR #602:
URL: https://github.com/apache/incubator-uniffle/pull/602#issuecomment-1431347078
> 1. run integration tests run with unit test disabled?
UT is already excluded, some integration tests are too slow. We should improve the speed of them. And we can also split integration tests to multiple packages, to further break down and improve parallelism.
> 2. some common integration tests are run multiple times. is it possible to skip integration test of common and spark-common when running spark3 integration test?
I'm not sure, maybe some tests need and some tests don't.
Please check and split them into different packages.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@uniffle.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@uniffle.apache.org
For additional commands, e-mail: issues-help@uniffle.apache.org
[GitHub] [incubator-uniffle] advancedxy commented on pull request #602: [#580] chore: speed up CI workflows
Posted by "advancedxy (via GitHub)" <gi...@apache.org>.
advancedxy commented on PR #602:
URL: https://github.com/apache/incubator-uniffle/pull/602#issuecomment-1431340532
Thanks @kaijchen for this awesome work. Now the CI is down to 20min.
However there might be some other improvement:
1. run integration tests run with unit test disabled?
2. some common integration tests are run multiple times. is it possible to skip integration test of common and spark-common when running spark3 integration test?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@uniffle.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@uniffle.apache.org
For additional commands, e-mail: issues-help@uniffle.apache.org
[GitHub] [incubator-uniffle] kaijchen commented on a diff in pull request #602: [#580] chore: speed up CI workflows
Posted by "kaijchen (via GitHub)" <gi...@apache.org>.
kaijchen commented on code in PR #602:
URL: https://github.com/apache/incubator-uniffle/pull/602#discussion_r1107088440
##########
.github/workflows/parallel.yml:
##########
@@ -79,7 +79,7 @@ jobs:
mvn-${{ inputs.java-version }}-package-${{ matrix.profile }}-
mvn-${{ inputs.java-version }}-package-
- name: Execute `mvn ${{ inputs.maven-args }} -P${{ matrix.profile }}`
- run: mvn -B -fae ${{ inputs.maven-args }} -P${{ matrix.profile }} | tee /tmp/maven.log
+ run: mvn -T1C -B -fae ${{ inputs.maven-args }} -P${{ matrix.profile }} | tee /tmp/maven.log
Review Comment:
To run tests in parallel, you will need to set `forkCount` in `maven-surefire-plugin.
At least this is not causing any problems right now.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@uniffle.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@uniffle.apache.org
For additional commands, e-mail: issues-help@uniffle.apache.org
[GitHub] [incubator-uniffle] codecov-commenter commented on pull request #602: chore: speed up CI workflows
Posted by "codecov-commenter (via GitHub)" <gi...@apache.org>.
codecov-commenter commented on PR #602:
URL: https://github.com/apache/incubator-uniffle/pull/602#issuecomment-1430765423
# [Codecov](https://codecov.io/gh/apache/incubator-uniffle/pull/602?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
> Merging [#602](https://codecov.io/gh/apache/incubator-uniffle/pull/602?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (6605cda) into [master](https://codecov.io/gh/apache/incubator-uniffle/commit/56145c2731e68a3e0e89683691c1da0a8172a5d8?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (56145c2) will **increase** coverage by `1.47%`.
> The diff coverage is `n/a`.
```diff
@@ Coverage Diff @@
## master #602 +/- ##
============================================
+ Coverage 61.67% 63.15% +1.47%
- Complexity 1668 1801 +133
============================================
Files 201 200 -1
Lines 11111 10416 -695
Branches 922 1044 +122
============================================
- Hits 6853 6578 -275
+ Misses 3883 3494 -389
+ Partials 375 344 -31
```
| [Impacted Files](https://codecov.io/gh/apache/incubator-uniffle/pull/602?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
|---|---|---|
| [...tor/pkg/controller/sync/coordinator/coordinator.go](https://codecov.io/gh/apache/incubator-uniffle/pull/602?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-ZGVwbG95L2t1YmVybmV0ZXMvb3BlcmF0b3IvcGtnL2NvbnRyb2xsZXIvc3luYy9jb29yZGluYXRvci9jb29yZGluYXRvci5nbw==) | | |
| [...y/kubernetes/operator/pkg/webhook/inspector/pod.go](https://codecov.io/gh/apache/incubator-uniffle/pull/602?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-ZGVwbG95L2t1YmVybmV0ZXMvb3BlcmF0b3IvcGtnL3dlYmhvb2svaW5zcGVjdG9yL3BvZC5nbw==) | | |
| [...y/kubernetes/operator/pkg/webhook/inspector/rss.go](https://codecov.io/gh/apache/incubator-uniffle/pull/602?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-ZGVwbG95L2t1YmVybmV0ZXMvb3BlcmF0b3IvcGtnL3dlYmhvb2svaW5zcGVjdG9yL3Jzcy5nbw==) | | |
| [deploy/kubernetes/operator/pkg/utils/certs.go](https://codecov.io/gh/apache/incubator-uniffle/pull/602?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-ZGVwbG95L2t1YmVybmV0ZXMvb3BlcmF0b3IvcGtnL3V0aWxzL2NlcnRzLmdv) | | |
| [...pkg/controller/sync/shuffleserver/shuffleserver.go](https://codecov.io/gh/apache/incubator-uniffle/pull/602?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-ZGVwbG95L2t1YmVybmV0ZXMvb3BlcmF0b3IvcGtnL2NvbnRyb2xsZXIvc3luYy9zaHVmZmxlc2VydmVyL3NodWZmbGVzZXJ2ZXIuZ28=) | | |
| [...rnetes/operator/pkg/webhook/inspector/inspector.go](https://codecov.io/gh/apache/incubator-uniffle/pull/602?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-ZGVwbG95L2t1YmVybmV0ZXMvb3BlcmF0b3IvcGtnL3dlYmhvb2svaW5zcGVjdG9yL2luc3BlY3Rvci5nbw==) | | |
| [deploy/kubernetes/operator/pkg/utils/util.go](https://codecov.io/gh/apache/incubator-uniffle/pull/602?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-ZGVwbG95L2t1YmVybmV0ZXMvb3BlcmF0b3IvcGtnL3V0aWxzL3V0aWwuZ28=) | | |
| [...eploy/kubernetes/operator/pkg/utils/coordinator.go](https://codecov.io/gh/apache/incubator-uniffle/pull/602?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-ZGVwbG95L2t1YmVybmV0ZXMvb3BlcmF0b3IvcGtnL3V0aWxzL2Nvb3JkaW5hdG9yLmdv) | | |
| [deploy/kubernetes/operator/pkg/utils/config.go](https://codecov.io/gh/apache/incubator-uniffle/pull/602?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-ZGVwbG95L2t1YmVybmV0ZXMvb3BlcmF0b3IvcGtnL3V0aWxzL2NvbmZpZy5nbw==) | | |
| [deploy/kubernetes/operator/pkg/webhook/manager.go](https://codecov.io/gh/apache/incubator-uniffle/pull/602?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-ZGVwbG95L2t1YmVybmV0ZXMvb3BlcmF0b3IvcGtnL3dlYmhvb2svbWFuYWdlci5nbw==) | | |
| ... and [18 more](https://codecov.io/gh/apache/incubator-uniffle/pull/602?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | |
:mega: We’re building smart automated test selection to slash your CI/CD build times. [Learn more](https://about.codecov.io/iterative-testing/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@uniffle.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@uniffle.apache.org
For additional commands, e-mail: issues-help@uniffle.apache.org
[GitHub] [incubator-uniffle] advancedxy commented on a diff in pull request #602: [#580] chore: speed up CI workflows
Posted by "advancedxy (via GitHub)" <gi...@apache.org>.
advancedxy commented on code in PR #602:
URL: https://github.com/apache/incubator-uniffle/pull/602#discussion_r1107084703
##########
.github/workflows/build.yml:
##########
@@ -52,20 +54,31 @@ jobs:
java-version: '11'
java-17:
+ needs: [spotbugs] # delay execution
name: 'compile'
uses: ./.github/workflows/sequential.yml
with:
maven-args: package -DskipTests
cache-key: package
java-version: '17'
- package:
+ unit:
uses: ./.github/workflows/parallel.yml
with:
- maven-args: package
+ maven-args: package -Dtest=!org.apache.uniffle.test.**
+ reports-path: "**/target/surefire-reports/*.txt"
+
+ integration:
+ uses: ./.github/workflows/parallel.yml
+ with:
+ maven-args: package -Dtest=org.apache.uniffle.test.**
reports-path: "**/target/surefire-reports/*.txt"
deploy:
Review Comment:
After this change, I don't think deploy is a proper name.`deploy` usually means deploying actual package/service.
could you change it to `resource managers` or simply `k8s`?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@uniffle.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@uniffle.apache.org
For additional commands, e-mail: issues-help@uniffle.apache.org
[GitHub] [incubator-uniffle] advancedxy commented on a diff in pull request #602: [#580] chore: speed up CI workflows
Posted by "advancedxy (via GitHub)" <gi...@apache.org>.
advancedxy commented on code in PR #602:
URL: https://github.com/apache/incubator-uniffle/pull/602#discussion_r1107086208
##########
.github/workflows/parallel.yml:
##########
@@ -79,7 +79,7 @@ jobs:
mvn-${{ inputs.java-version }}-package-${{ matrix.profile }}-
mvn-${{ inputs.java-version }}-package-
- name: Execute `mvn ${{ inputs.maven-args }} -P${{ matrix.profile }}`
- run: mvn -B -fae ${{ inputs.maven-args }} -P${{ matrix.profile }} | tee /tmp/maven.log
+ run: mvn -T1C -B -fae ${{ inputs.maven-args }} -P${{ matrix.profile }} | tee /tmp/maven.log
Review Comment:
do this also implies we are running tests in parallel?
There might be subtle issues when running tests in parallel, such as port collision.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@uniffle.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@uniffle.apache.org
For additional commands, e-mail: issues-help@uniffle.apache.org
[GitHub] [incubator-uniffle] advancedxy commented on pull request #602: [#580] chore: speed up CI workflows
Posted by "advancedxy (via GitHub)" <gi...@apache.org>.
advancedxy commented on PR #602:
URL: https://github.com/apache/incubator-uniffle/pull/602#issuecomment-1431368809
> UT is already excluded. Some integration tests are slow, maybe we can improve the speed of them.
And we can also split integration tests to multiple packages, to further break down the workflow and improve parallelism.
Ah, I didn't see that coming since you don't specify `-DskipIT`..
But it seems integration tests are prefixed with test package.
> I'm not sure, maybe some tests need and some tests don't. Let's check and split them into different packages later.
Yeah.. Integration tests should be in separated packages. But let's do that later.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@uniffle.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@uniffle.apache.org
For additional commands, e-mail: issues-help@uniffle.apache.org
[GitHub] [incubator-uniffle] kaijchen merged pull request #602: [#580] chore: speed up CI workflows
Posted by "kaijchen (via GitHub)" <gi...@apache.org>.
kaijchen merged PR #602:
URL: https://github.com/apache/incubator-uniffle/pull/602
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@uniffle.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@uniffle.apache.org
For additional commands, e-mail: issues-help@uniffle.apache.org