[Umbrella] Improve CI workflows
- Dominant language
- Java
- Stars
- 454
- Forks
- 172
- Avg merge
- 5d 17h
- Merged PRs (30d)
- 5
Description
### Code of Conduct
- [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct)
### Search before asking
- [X] I have searched in the [issues](https://github.com/apache/incubator-uniffle/issues) and found no similar issues.
### Describe the proposal
The current CI can be improved in many aspects.
The goal is to make CI cleaner, faster and more informative.
### Task list
- [x] cache maven repositories
- [x] create a standalone workflow for k8s operator
- [ ] standardize profile names, i.e. `-Pspark3` is actually `-Pspark3.1`
- [x] split tests into UT and IT
- [ ] reduce time cost of IT
- [ ] run IT in parallel
- [ ] do not repeat common tests (UT)
- [ ] reuse compiled artifacts
- [ ] parallel build, i.e. `mvn -T` (reverted by #631)
- [ ] parallel test, make sure no resources race in tests
### Are you willing to submit PR?
- [X] Yes I am willing to submit a PR!
Contributor guide
Research direction
No specific file, test, or entry point is named. Review the repository's CI workflows and Maven build configuration, then choose one unchecked task with a defined scope. Done should mean the selected CI improvement is implemented and its workflow behavior is verified without introducing test resource races.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, java
- Domain
- build-system, ci-cd, testing
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100