@@ -38,6 +38,7 @@ def cloneJenkinsfilesRepo() {
38
38
doGenerateSubmoduleConfigurations : false ,
39
39
extensions : [[$class : ' RelativeTargetDirectory' , relativeTargetDir : jenkinsfileRepoTargetDir]],
40
40
submoduleCfg : [],
41
+ changelog : false ,
41
42
userRemoteConfigs : [[url : jenkinsfileRepo, credentialsId : gitCredentialsId]]
42
43
])
43
44
return " $WORKSPACE_TMP /$jenkinsfileRepoTargetDir "
@@ -78,7 +79,7 @@ def runLint(pDockerImage) {
78
79
string(name : ' P_CLOUD' , value : pCloud),
79
80
string(name : ' P_GIT_REPO' , value : gitUrl),
80
81
string(name : ' P_GIT_COMMIT' , value : gitCommit),
81
- string(name : ' P_EPHEMERAL_STORAGE_LIMIT' , value : ' 2Gi ' ),
82
+ string(name : ' P_EPHEMERAL_STORAGE_LIMIT' , value : ' 7Gi ' ),
82
83
string(name : ' P_DOCKER_IMAGE' , value : pDockerImage),
83
84
string(name : ' P_TIMEOUT' , value : pTimeout),
84
85
string(name : ' P_CPU_LIMIT' , value : " 2" ),
@@ -117,7 +118,7 @@ def runPytest(pDockerImage, gpu, extraDeps) {
117
118
string(name : ' P_MEM_LIMIT' , value : memLimit),
118
119
string(name : ' P_TIMEOUT' , value : pTimeout),
119
120
string(name : ' P_N_GPUS' , value : nGpus),
120
- string(name : ' P_EPHEMERAL_STORAGE_LIMIT' , value : ' 2Gi ' ),
121
+ string(name : ' P_EPHEMERAL_STORAGE_LIMIT' , value : ' 32Gi ' ),
121
122
text(name : ' P_COMMAND' , value : " ./.ci/test.sh '$extraDeps ' '$markers '" ),
122
123
string(name : ' P_ARTIFACTS_GLOB' , value : artifactsGlob),
123
124
string(name : ' P_JUNIT_GLOB' , value : junitGlob),
@@ -179,16 +180,16 @@ stage('Build') {
179
180
pytorchDockerBuildMatrix. each { entry ->
180
181
def command = entry[0 ] // command is the command to run
181
182
def stagingImage = entry[1 ] // stagingImage is where the built docker image is pushed
182
- def buildArgs = entry[2 ] // buildArgs is a map of the build arguments passed to kaniko
183
- jobs << [ " $b uildArgs " : { ->
183
+ def buildConfigListOfTuples = entry[2 ] // buildConfigListOfTuples is a list of (key, value) pairs of the build args from the matrix
184
+ jobs << [ " $b uildConfigListOfTuples " : { ->
184
185
trackBuild(
185
186
job : jenkinsShellJobName,
186
187
parameters : [
187
188
string(name : ' P_CLOUD' , value : pCloud),
188
189
string(name : ' P_GIT_REPO' , value : gitUrl),
189
190
string(name : ' P_GIT_COMMIT' , value : gitCommit),
190
191
string(name : ' P_DOCKER_IMAGE' , value : kanikoDockerImage),
191
- string(name : ' P_EPHEMERAL_STORAGE_LIMIT' , value : ' 16Gi ' ),
192
+ string(name : ' P_EPHEMERAL_STORAGE_LIMIT' , value : ' 32Gi ' ),
192
193
text(name : ' P_COMMAND' , value : command),
193
194
string(name : ' P_TIMEOUT' , value : pTimeout),
194
195
string(name : ' P_CPU_LIMIT' , value : ' 4' ),
@@ -199,16 +200,31 @@ stage('Build') {
199
200
// no need to run tests again
200
201
return
201
202
}
202
- def tag = buildArgs[' TAG' ]
203
- def gpu = buildArgs[' CUDA_VERSION' ] != ' cpu'
203
+ def gpu = false
204
+ def isLintImage = false
205
+ def tag = null
206
+ buildConfigListOfTuples. each { item ->
207
+ def key = item[0 ]
208
+ def val = item[1 ]
209
+
210
+ if (key == ' CUDA_VERSION' ) {
211
+ gpu = val != ' cpu'
212
+ }
213
+ if (key == ' TAG' ) {
214
+ tag = val
215
+ // there could be multiple tags
216
+ isLintImage = isLintImage || tag == lintImage
217
+ }
218
+
219
+ }
204
220
def extraDeps = ' all'
205
221
def subJobs = [
206
222
" Pytest - ${ tag} " : { -> runPytest(stagingImage, gpu, extraDeps) }
207
223
]
208
- if (tag == lintImage ) {
224
+ if (isLintImage ) {
209
225
// and run lint and a dev install on this image
210
226
subJobs << [
211
- " Pytest - ${ tag } , extraDeps=dev" : { -> runPytest(stagingImage, false , ' dev' ) },
227
+ " Pytest - extraDeps=dev" : { -> runPytest(stagingImage, false , ' dev' ) },
212
228
" Lint" : { -> runLint(stagingImage) },
213
229
]
214
230
}
@@ -244,9 +260,9 @@ stage('Build') {
244
260
string(name : ' P_CLOUD' , value : pCloud),
245
261
string(name : ' P_GIT_REPO' , value : gitUrl),
246
262
string(name : ' P_GIT_COMMIT' , value : gitCommit),
247
- string(name : ' P_EPHEMERAL_STORAGE_LIMIT' , value : ' 8Gi ' ),
263
+ string(name : ' P_EPHEMERAL_STORAGE_LIMIT' , value : ' 32Gi ' ),
248
264
string(name : ' P_DOCKER_IMAGE' , value : condaBuildDockerImage),
249
- string(name : ' P_TIMEOUT' , value : pTimeout),
265
+ string(name : ' P_TIMEOUT' , value : ' 3600 ' ), // Conda builds take longer
250
266
string(name : ' P_CPU_LIMIT' , value : " 4" ),
251
267
string(name : ' P_MEM_LIMIT' , value : " 8Gi" ),
252
268
string(name : ' P_COMMAND' , value : " ./.ci/build_conda.sh" )
0 commit comments