-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathJenkinsfile
43 lines (42 loc) · 1.66 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
pipeline {
agent none
stages {
stage('All') {
matrix {
agent {
label "${platform}"
}
axes {
axis {
name 'platform'
values 'ubuntu22.04-x86_64','ubuntu20.04-x86_64', 'ubuntu18.04-x86_64', 'windows10-x64', 'windows10-x86', 'rocky8-x86_64'
}
}
stages {
stage('Build') {
steps {
script {
if (isUnix()) {
sh 'rm -rf build/xsdcpp-*.zip'
}
else {
bat 'if exist build\\xsdcpp-*.zip del build\\xsdcpp-*.zip'
}
cmakeBuild buildDir: 'build', installation: 'InSearchPath', buildType: 'MinSizeRel', cmakeArgs: '-G Ninja'
cmake workingDir: 'build', arguments: '--build . --config MinSizeRel --target package', installation: 'InSearchPath'
dir('build') {
archiveArtifacts artifacts: 'xsdcpp-*.zip'
}
}
}
}
stage('Test') {
steps {
ctest workingDir: 'build', installation: 'InSearchPath', arguments: '--output-on-failure'
}
}
}
}
}
}
}