blob: 3772b667c29d6e1cc3d5b7fd5574b84577b9825a (
plain) (
blame)
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
|
node(this.label) {
dir(this.parent_workspace) {
println("inherited workspace: ${this.parent_workspace}")
println("this.Nodelabel: ${this.label}")
println("env.JOB_NAME: ${env.JOB_NAME}")
println("env.JOB_BASE_NAME: ${env.JOB_BASE_NAME}")
println("env.BUILD_NUMBER: ${env.BUILD_NUMBER}")
println("env.NODE_NAME: ${env.NODE_NAME}")
println("env.WORKSPACE: ${env.WORKSPACE}")
println("env.JENKINS_HOME: ${env.JENKINS_HOME}")
println(currentBuild.buildVariables)
println("parameter py_version: ${this.py_version}")
env.PATH = "${this.parent_workspace}/miniconda/bin/:" + "${env.PATH}"
println("PATH: ${env.PATH}")
// Make the log files a bit more deterministic
env.PYTHONUNBUFFERED = "true"
// In the directory common to all package build jobs,
// run conda build --dirty for this package to use any existing work
// directory or source trees already obtained.
dir("conda-recipes") {
cmd = "conda build"
stage("Build") {
build_cmd = cmd
args = ["--no-test",
"--no-anaconda-upload",
"--python=${this.py_version}",
"--numpy=${this.numpy_version}",
"--skip-existing",
"--override-channels",
"--channel defaults",
"--dirty"]
for (arg in args) {
build_cmd = "${build_cmd} ${arg}"
}
stat = 999
stat = sh(script: "${build_cmd} ${env.JOB_BASE_NAME}",
returnStatus: true)
if (stat != 0) {
currentBuild.result = "FAILURE"
}
}
stage("Test") {
build_cmd = cmd
args = ["--test",
"--python=${this.py_version}",
"--numpy=${this.numpy_version}"]
for (arg in args) {
build_cmd = "${build_cmd} ${arg}"
}
stat = 999
stat = sh(script: "${build_cmd} ${env.JOB_BASE_NAME}",
returnStatus: true)
if (stat != 0) {
currentBuild.result = "UNSTABLE"
}
}
} // end dir
}
} //end node
|