forked from ufz/ogs
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathJenkinsfile
More file actions
110 lines (94 loc) · 2.47 KB
/
Copy pathJenkinsfile
File metadata and controls
110 lines (94 loc) · 2.47 KB
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#!/usr/bin/env groovy
@Library('jenkins-pipeline@1.0.7') _
def builders = [:]
def helper = new ogs.helper()
timestamps {
builders['gcc'] = {
node('docker') {
dir('ogs') { checkoutWithTags() }
load 'ogs/scripts/jenkins/gcc.groovy'
}
}
builders['gcc-conan'] = {
node('docker') {
dir('ogs') { checkoutWithTags() }
load 'ogs/scripts/jenkins/gcc-conan.groovy'
}
}
builders['gcc-dynamic'] = {
node('envinf1') {
dir('ogs') { checkoutWithTags() }
load 'ogs/scripts/jenkins/gcc-dynamic.groovy'
}
}
builders['msvc'] = {
node('win && conan') {
dir('ogs') { checkoutWithTags() }
load 'ogs/scripts/jenkins/msvc.groovy'
}
}
builders['mac'] = {
node('mac') {
dir('ogs') { checkoutWithTags() }
// load 'ogs/scripts/jenkins/mac.groovy'
}
}
if (helper.isRelease(this)) {
builders['msvc32'] = {
node('win && conan') {
dir('ogs') { checkoutWithTags() }
load 'ogs/scripts/jenkins/msvc32.groovy'
}
}
}
builders['docs'] = {
node('docker') {
dir('ogs') { checkoutWithTags() }
load 'ogs/scripts/jenkins/docs.groovy'
}
}
if (helper.isOriginMaster(this)) {
builders['coverage'] = {
node('docker') {
dir('ogs') { checkoutWithTags() }
load 'ogs/scripts/jenkins/coverage.groovy'
}
}
}
try {
parallel builders
}
catch (err) {
currentBuild.result = 'FAILURE'
if (helper.isOriginMaster(this)) {
helper.notification(title: "${env.JOB_NAME} failed!", script: this,
msg: "Build failed", url: "${env.BUILD_URL}/flowGraphTable/")
}
}
def tag = ""
node('master') {
checkoutWithTags()
tag = helper.getTag()
step([$class: 'LogParserPublisher',
failBuildOnError: true,
projectRulePath: "scripts/jenkins/all-log-parser.rules",
showGraphs: true,
unstableOnWarning: false,
useProjectRule: true
])
}
if (helper.isOriginMaster(this)) {
if (currentBuild.result == "SUCCESS" || currentBuild.result == "UNSTABLE") {
build job: 'OGS-6/clang-sanitizer', wait: false
if (tag != "") {
keepBuild()
currentBuild.displayName = tag
helper.notification(msg: "Marked build for ${tag}.", script: this)
node('mac') {
dir('ogs') { checkoutWithTags() }
load 'ogs/scripts/jenkins/docset.groovy'
}
}
}
}
} // end timestamps