-
Notifications
You must be signed in to change notification settings - Fork 37
/
Jenkinsfile
42 lines (33 loc) · 1.53 KB
/
Jenkinsfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!groovy
import java.util.Collections
if (env.JENKINS_URL.contains('markwaite.net')) {
// Valid Jenkins versions for markwaite.net test
def testJenkinsVersions = [ '2.479.1', '2.479', '2.480', '2.481', '2.482', '2.483', ]
Collections.shuffle(testJenkinsVersions)
// build with randomized Jenkins versions
subsetConfiguration = [
// Intel Linux is labeled as 'linux' for legacy reasons
// Linux first for coverage report on ci.jenkins.io
[ jdk: 21, platform: 'linux', ],
[ jdk: 17, platform: 'linux', jenkins: testJenkinsVersions[0] ],
// Windows
[ jdk: 17, platform: 'windows', jenkins: testJenkinsVersions[1] ],
// s390x label is also Linux
[ jdk: 17, platform: 's390x', jenkins: testJenkinsVersions[2] ],
[ jdk: 21, platform: 's390x', jenkins: testJenkinsVersions[3] ],
]
// Use advanced buildPlugin on markwaite.net
buildPlugin(configurations: subsetConfiguration, failFast: false, forkCount: '1C')
return
}
// Use simple buildPlugin elsewhere
/*
See the documentation for more options:
https://github.com/jenkins-infra/pipeline-library/
*/
buildPlugin(
useContainerAgent: true, // Set to `false` if you need to use Docker for containerized tests
configurations: [
[platform: 'linux', jdk: 21],
[platform: 'windows', jdk: 17],
])