-
Notifications
You must be signed in to change notification settings - Fork 2
Add common Maven build workflow #1
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
|
Also there is one more benefit I forgot to mention - this way we can update the Actions in single place instead of managing them in each repository. Of course this will work only if we reference the main branch and not specific tag, but I don't think this would be an issue. |
|
And one more think. I haven't used shared workflows yet, but I suspect when the shared workflow is changed that would not retrigger the workflows that use it. So we should think of another way to trigger them. Maybe running on schedule? |
.github/maven.yml
Outdated
| - name: Checkout | ||
| uses: actions/checkout@v2 | ||
|
|
||
| - name: Set up cache for ~./m2/repository |
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.
setup-java now have a cache (https://github.com/actions/setup-java#caching-maven-dependencies) maybe we can this step now.
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.
Good idea. I also noticed that I've left 17-ea. 17 is released now.
c8261e5 to
b6394c5
Compare
Testing with the latest version of version requires regular update to all Plexus repositories' GitHub Actions workflows. This is a repetitive, time consuming task. Given that the build workflow for the various Plexus project is almost the same, we can re-use common workflow. Then using the latest version of Java is just a matter of changing the build matrix in single file.
b6394c5 to
6967bdd
Compare
we can tag it and use the tag in components gh actions. so you can simply use only one project in a branch to test main. |
|
in wonder if we could use a strategy similar to this one https://github.com/apache/maven-gh-actions-shared |
|
all set. I even cut a release and look how I configured plexus-utils with tag |
Sounds great.
I didn't knew about this project. Looks interesting. Edit: I saw that you already added those enhancements to the workflow. Thanks. |
Testing with the latest version of version requires regular update to all Plexus repositories' GitHub Actions workflows. This is a repetitive, time consuming task.
Given that the build workflow for the various Plexus project is almost the same, we can re-use common workflow. Then using the latest version of Java is just a matter of changing the build matrix in single file.
This proposal makes use of the new reusable workflows feature - https://docs.github.com/en/actions/learn-github-actions/reusing-workflows. What do you think? Also what about the default maven args - is this sensible default?