-
Notifications
You must be signed in to change notification settings - Fork 8
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
All upstream Jenkins jobs related to Mandrel are encoded in Jenkins DSL now #81
Conversation
dae9dce
to
a559c9d
Compare
@zakkak Nudge nudge |
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.
@Karm this is a great improvement but the fact that you have to replicate so many things seems wrong to me.
E.g., why can't we have a single mandrel_linux_build.groovy
that will be able to build 20.1, 20.2, 20.3, and master using a matrix of configurations?
I also don't understand the purpose of build.sh
and buildLabsJDK.sh
since they are not used in any job and they don't seem generic.
Additionally (Jenkins DSL newbie question), is there any way to have some form of library that you can then reuse across the different jobs?
@zakkak THX for the feedback. I will comment & fix step by step. First: buildLabsJDK.sh and build.sh are there by mistake. I used them locally for myself, never intended to push them 🤦 Lemme fix that... |
@zakkak /me testing new updates
It can be done as a matrix job. But then it would always trigger a publisher that would run tests even for versions that weren't built... Maybe I am lacking Jenkins DSL-fu on this one. I managed to get rid of the duplicated shell by stuffing it into a separate file and I will be trimming that file further down by delegating tasks to build.java.
A stupid mistake of mine. These files should not have been committed at all. They are gone now.
I am no Jenkins DSL pro either. I used it once before and to my best knowledge, that would have to be converted into Jenkins Pipelines syntax to re-use components like libraries. I wouldn't bother with that at this point. My overall intention for this PR is:
|
@zakkak It should look better now. BTW: To test it, I had to leave
there and port scripts to 20.1 branch: #82 I will swap it to https://github.com/graalvm/mandrel-packaging and edit the branches (jenkins -> master and 20.1-jenkins to 20.1) before merging. |
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.
LGTM!
I managed to get rid of the duplicated shell by stuffing it into a separate file and I will be trimming that file further down by delegating tasks to build.java.
The only "missing" thing I see is the trimming of the build scripts by delegating tasks to build.java
, but I don't think this is a strong requirement.
How one works with it:
Ad step 3.: I am investigating if it is really necessary and what additional security it actually brings.
Readme/docs on the syntax: https://ci.modcluster.io//plugin/job-dsl/api-viewer/index.html