Hello fellow Jenkins users,

I'll start with my goal, shortly describe what we have and than what I've tried 
to achieve said goal.



# Goal

Create a Jenkins configuration that is triggered when a PR is opened or 
manually to build the master branch for several OS / compiler configurations.


# What we have

We currently make a distinction between the 'all' and 'pr' builds. The 'all' 
job triggers builds for gcc, clang, msvc. These are separate items/jobs that 
each have their own build matrix and configuration.

In contrast, the 'pr' configuration has its own build matrix and as a result 
can only specify one build configuration which limits it to builds with one 
compiler since we can't use the same cmake generator on Windows and Linux. It 
also can't call the same builds as the 'all' job because I haven't found a way 
to pass the branch and commit to pull into triggered jobs (potentially reusing 
the jobs of the 'all' item).


# What we tried

1. Find a way to pass branch / PR information to the compiler / OS specific 
stages. The build step to 'trigger/call builds on other projects' has an option 
to 'Pass-through Git Commit that was built' but I have no clue what it passes 
on and how I could integrate that in the next stage.

2. Let the 'all' and 'pr' jobs create an artifact that includes the code to 
build in the subsequent jobs and pass them on.

3. Move to a Pipeline job with a Jenkinsfile. My first problem here is that i 
don't know how to distinguish between the PR trigger and the build for the 
master branch to get the right code. Secondly, the parallel keyword has changed 
recently? Previously you could generate a map with several configuration and 
then call parallel and pass the map. That does not seem to work anymore, is 
there a new way to do this?
(In general, writing a Jenkisfiles seems to require manual build scripts where 
other (traditional?) Jenkins jobs offer build steps such as cmake and ctest.)



Overall, I imagine that this is not an uncommon workflow. I've searched a lot 
for similar problems but without success. Any help is appreciated! Maybe I 
overlooked something obvious?

Thanks,
Raphael

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/F618CCAE-43C7-4836-AAA0-11D9E087A666%40haw-hamburg.de.
For more options, visit https://groups.google.com/d/optout.

Reply via email to