author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Sun, 01 Jan 2017 21:21:25 +0000 | |
changeset 114 | 49b4eba5aff6 |
parent 106 | af335c19cc3b |
child 115 | 3b8372e82acd |
permissions | -rw-r--r-- |
69
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
1 |
/* |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
2 |
* Jenkins Pipeline definitions for Smalltalk/X jv-branch |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
3 |
* |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
4 |
* Following pipelines are defined here: |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
5 |
* |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
6 |
* * `build()` - compiles and tests all supported configurations |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
7 |
* No artifacts are archived |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
8 |
* |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
9 |
* * `integration()` - like `build()` pipeline, then all test pass on all |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
10 |
* configurations, archive artifacts and push staged changes to opstream. |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
11 |
*/ |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
12 |
|
106
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
13 |
import com.cloudbees.plugins.credentials.CredentialsProvider; |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
14 |
import com.cloudbees.plugins.credentials.common.StandardUsernameCredentials; |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
15 |
import com.cloudbees.jenkins.plugins.sshcredentials.SSHUserPrivateKey; |
69
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
16 |
|
106
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
17 |
/** |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
18 |
* Supported configurations. To overwrite, do: |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
19 |
* |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
20 |
* ... |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
21 |
* pipeline = load "pipeline.groovy" |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
22 |
* ... |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
23 |
* pipeline.configurations = [ 'NODE': 'qnx', 'ARCH' : 'mips' ] |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
24 |
* ... |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
25 |
* |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
26 |
* Default value: see below. |
69
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
27 |
*/ |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
28 |
configurations = [ |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
29 |
'NODE': ['windows' , 'linux' ], |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
30 |
'ARCH': ['i386', 'x86_64' ] |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
31 |
] |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
32 |
|
106
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
33 |
/** Branch to build. To overwrite do: |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
34 |
* |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
35 |
* ... |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
36 |
* pipeline = load "pipeline.groovy" |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
37 |
* ... |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
38 |
* pipeline.branch = "issue-123" |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
39 |
* ... |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
40 |
* |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
41 |
* Default value: |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
42 |
* For multibranch jobs, this is the value of BRANCH_NAME environment variable. |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
43 |
* For normal jobs this is the value of 'Branch' field from SCM configuration. |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
44 |
* |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
45 |
* Due to Jenkins internals, the fallback to use SCM configuration must be done |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
46 |
* by 'user' of this variable (i.e., use `branch != null ? branch : scm.getBranch()) |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
47 |
*/ |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
48 |
branch = env.BRANCH_NAME |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
49 |
|
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
50 |
/** |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
51 |
* Workspace to use. To overwrite do: |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
52 |
* |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
53 |
* ... |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
54 |
* pipeline = load "pipeline.groovy" |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
55 |
* ... |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
56 |
* pipeline.workspace = "some-other-job" |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
57 |
* ... |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
58 |
* |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
59 |
* Default value: |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
60 |
* Name of current job. |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
61 |
*/ |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
62 |
workspace = env.JOB_NAME |
69
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
63 |
|
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
64 |
/* |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
65 |
* "Default" pipeline: |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
66 |
*/ |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
67 |
def build() { |
70
8e73f248c6d4
Changed logic used to check whether to checkout or download stc and librun:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
69
diff
changeset
|
68 |
stage ( "Build" ) { |
8e73f248c6d4
Changed logic used to check whether to checkout or download stc and librun:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
69
diff
changeset
|
69 |
matrix ( configurations ) { |
8e73f248c6d4
Changed logic used to check whether to checkout or download stc and librun:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
69
diff
changeset
|
70 |
stage ( "Checkout - {${env.NODE}-${env.ARCH}} " ) { |
8e73f248c6d4
Changed logic used to check whether to checkout or download stc and librun:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
69
diff
changeset
|
71 |
sshagent([ scm.getCredentialsId() ]) { |
8e73f248c6d4
Changed logic used to check whether to checkout or download stc and librun:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
69
diff
changeset
|
72 |
sh """ |
8e73f248c6d4
Changed logic used to check whether to checkout or download stc and librun:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
69
diff
changeset
|
73 |
if [ -f Jenkinsfile.rb ]; then |
103
fda494c2564b
CI: Pass `--ssh ssh` option to hg when checking out / updating rakefiles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
96
diff
changeset
|
74 |
hg pull --ssh ssh ${scm.getSource()} |
70
8e73f248c6d4
Changed logic used to check whether to checkout or download stc and librun:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
69
diff
changeset
|
75 |
else |
103
fda494c2564b
CI: Pass `--ssh ssh` option to hg when checking out / updating rakefiles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
96
diff
changeset
|
76 |
hg clone --ssh ssh ${scm.getSource()} . |
70
8e73f248c6d4
Changed logic used to check whether to checkout or download stc and librun:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
69
diff
changeset
|
77 |
fi |
106
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
78 |
hg up ${branch != null ? branch : scm.getBranch()} |
70
8e73f248c6d4
Changed logic used to check whether to checkout or download stc and librun:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
69
diff
changeset
|
79 |
""" |
90
9f574fad295d
When building under CI throw an error if repositoryset is explicitly defined
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
70
diff
changeset
|
80 |
sh "ruby Jenkinsfile.rb --project \"stx:jv-branch\" --arch ${env.ARCH} update" |
70
8e73f248c6d4
Changed logic used to check whether to checkout or download stc and librun:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
69
diff
changeset
|
81 |
} |
8e73f248c6d4
Changed logic used to check whether to checkout or download stc and librun:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
69
diff
changeset
|
82 |
} |
8e73f248c6d4
Changed logic used to check whether to checkout or download stc and librun:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
69
diff
changeset
|
83 |
|
8e73f248c6d4
Changed logic used to check whether to checkout or download stc and librun:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
69
diff
changeset
|
84 |
stage ( "Compile - {${env.NODE}-${env.ARCH}}") { |
8e73f248c6d4
Changed logic used to check whether to checkout or download stc and librun:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
69
diff
changeset
|
85 |
sh "ruby Jenkinsfile.rb --project \"stx:jv-branch\" compile" |
69
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
86 |
} |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
87 |
} |
70
8e73f248c6d4
Changed logic used to check whether to checkout or download stc and librun:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
69
diff
changeset
|
88 |
} |
69
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
89 |
|
70
8e73f248c6d4
Changed logic used to check whether to checkout or download stc and librun:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
69
diff
changeset
|
90 |
stage ( "Test" ) { |
8e73f248c6d4
Changed logic used to check whether to checkout or download stc and librun:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
69
diff
changeset
|
91 |
matrix ( configurations ) { |
8e73f248c6d4
Changed logic used to check whether to checkout or download stc and librun:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
69
diff
changeset
|
92 |
stage ( "Test - {${env.NODE}-${env.ARCH}}") { |
8e73f248c6d4
Changed logic used to check whether to checkout or download stc and librun:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
69
diff
changeset
|
93 |
sh "ruby Jenkinsfile.rb --project \"stx:jv-branch\" test" |
8e73f248c6d4
Changed logic used to check whether to checkout or download stc and librun:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
69
diff
changeset
|
94 |
junit allowEmptyResults: true, testResults: "reports/*build${env.BUILD_NUMBER}*.xml" |
8e73f248c6d4
Changed logic used to check whether to checkout or download stc and librun:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
69
diff
changeset
|
95 |
} |
69
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
96 |
} |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
97 |
} |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
98 |
} |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
99 |
|
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
100 |
/* |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
101 |
* "Integration" pipeline |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
102 |
*/ |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
103 |
def integration() { |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
104 |
build() |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
105 |
/* |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
106 |
* If a single test fails, abort the pipeline. There's no point |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
107 |
* archiving a broken build. |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
108 |
*/ |
106
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
109 |
println "Smalltalk/X built, job status is: ${currentBuild.result}" |
69
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
110 |
if (currentBuild.result == 'UNSTABLE') { |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
111 |
return; |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
112 |
} |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
113 |
artifacts() |
106
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
114 |
push() |
69
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
115 |
} |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
116 |
|
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
117 |
def combine(configurations, axes = null, axis = 0, partial = new HashMap(), combinations = []) { |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
118 |
def axes0 = axes |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
119 |
if (axes0 == null) { |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
120 |
axes0 = configurations.keySet().toArray(); |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
121 |
} |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
122 |
if ( axis < axes0.length ) { |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
123 |
for ( value in configurations[axes0[axis]] ) { |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
124 |
def combined = partial.clone() |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
125 |
combined[axes0[axis]] = value |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
126 |
combine(configurations, axes0, axis + 1, combined, combinations) |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
127 |
} |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
128 |
} else { |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
129 |
combinations.add(partial) |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
130 |
} |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
131 |
return combinations; |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
132 |
} |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
133 |
|
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
134 |
|
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
135 |
def matrix(configurations, block) { |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
136 |
def combinations = combine(configurations).toArray() |
70
8e73f248c6d4
Changed logic used to check whether to checkout or download stc and librun:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
69
diff
changeset
|
137 |
def branches = [failFast: true] |
69
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
138 |
for (i = 0; i < combinations.length; i++) { |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
139 |
def index = i |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
140 |
def conf = combinations[i]; |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
141 |
branches["${conf.NODE}-${conf.ARCH}"] = { |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
142 |
node ( conf.NODE ) { |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
143 |
def newEnv = [] |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
144 |
for (k in conf.keySet()) { |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
145 |
newEnv.add("${k}=${conf[k]}") |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
146 |
} |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
147 |
withEnv ( newEnv ) { |
106
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
148 |
ws ("workspace/${workspace}/${env.ARCH}") { |
69
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
149 |
block() |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
150 |
} |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
151 |
} |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
152 |
} |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
153 |
} |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
154 |
} |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
155 |
parallel branches |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
156 |
} |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
157 |
|
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
158 |
|
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
159 |
|
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
160 |
def any(configurations, block) { |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
161 |
def axes = configurations.keySet().toArray() |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
162 |
def conf = [:] |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
163 |
for (axis in axes) { |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
164 |
conf[axis] = configurations[axis][0] |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
165 |
} |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
166 |
node ( conf.NODE ) { |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
167 |
def newEnv = [] |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
168 |
for (k in conf.keySet()) { |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
169 |
newEnv.add("${k}=${conf[k]}") |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
170 |
} |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
171 |
withEnv ( newEnv ) { |
106
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
172 |
ws ("workspace/${workspace}/${env.ARCH}") { |
69
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
173 |
block() |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
174 |
} |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
175 |
} |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
176 |
} |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
177 |
} |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
178 |
|
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
179 |
|
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
180 |
def artifacts() { |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
181 |
matrix ( configurations ) { |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
182 |
stage ( "Artifacts - {${env.NODE}-${env.ARCH}}") { |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
183 |
sh "ruby Jenkinsfile.rb --project \"stx:jv-branch\" artifacts" |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
184 |
archiveArtifacts artifacts: "artifacts/*build${env.BUILD_NUMBER}*.zip, artifacts/*build${env.BUILD_NUMBER}*.bz2, artifacts/*build${env.BUILD_NUMBER}*.sha256", fingerprint: true//, onlyIfSuccessful: true |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
185 |
} |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
186 |
} |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
187 |
} |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
188 |
|
106
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
189 |
/** |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
190 |
* Push changes to upstream reporitory. To be called after a successful |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
191 |
* build. See #build() |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
192 |
*/ |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
193 |
def push() { |
69
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
194 |
any ( configurations ) { |
106
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
195 |
stage ( "Push to upstream" ) { |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
196 |
/* |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
197 |
* Kludge: This stage may push changes to public BitBucket |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
198 |
* repositories. To access repos on BitBucket, I (JV) don't |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
199 |
* want to use the same key / password as for checkouts from |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
200 |
* staging repositories, |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
201 |
* |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
202 |
* Therefore, also look for another credentials with ID |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
203 |
* `workflow:push-upstream`. If it exists, then use these to |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
204 |
* push to upstrem repository. If no such credentials exist, |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
205 |
* use standard credentials. |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
206 |
* |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
207 |
* So, here we go: |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
208 |
*/ |
114
49b4eba5aff6
CI: Changed credentials ID for pushing changes to `workflow-push-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
106
diff
changeset
|
209 |
def id1 = "workflow-push-upstream"; |
106
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
210 |
def id2 = scm.getCredentialsId(); |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
211 |
def credentials = null; |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
212 |
|
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
213 |
for (StandardUsernameCredentials c : CredentialsProvider.lookupCredentials(StandardUsernameCredentials.class)) { |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
214 |
if (c.getId().equals(id1)) { |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
215 |
credentials = c; |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
216 |
break; |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
217 |
} |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
218 |
} |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
219 |
if (credentials == null) { |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
220 |
for (StandardUsernameCredentials c : CredentialsProvider.lookupCredentials(StandardUsernameCredentials.class)) { |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
221 |
if (c.getId().equals(id2)) { |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
222 |
credentials = c; |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
223 |
break; |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
224 |
} |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
225 |
} |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
226 |
} |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
227 |
|
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
228 |
println "Using credentials ${credentials.getId()}: ${credentials.getDescription()}" |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
229 |
|
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
230 |
if (credentials instanceof SSHUserPrivateKey) { |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
231 |
sshagent([ credentials.getId() ]) { |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
232 |
sh "rake \"workflow:push-upstream\"" |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
233 |
} |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
234 |
} else { |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
235 |
withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: credentials.getId(), passwordVariable: 'pass', usernameVariable: 'user']]) { |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
236 |
sh "rake \"workflow:push-upstream[${user}, ${pass}]\"" |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
237 |
} |
af335c19cc3b
CI: Allow to use different credentials to push to upstream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
105
diff
changeset
|
238 |
} |
69
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
239 |
} |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
240 |
} |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
241 |
} |
23cdc822cfc5
Initial support for Jenkins pipelines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
242 |
|
96
12b2d2bbd417
Merged changes from branch feature-block-in-context
Jan Vrany <jan.vrany@fit.cvut.cz>
diff
changeset
|
243 |
return this; |