Skip to content

Commit c9bf1dd

Browse files
authored
Split build and test parallel steps (#1453)
This speeds up e2e pipeline time since all three builds take around 10-11m now and tests take about 5m, making those two phases faster.
1 parent adffc5d commit c9bf1dd

File tree

1 file changed

+55
-54
lines changed

1 file changed

+55
-54
lines changed

Jenkinsfile

Lines changed: 55 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -61,22 +61,6 @@ pipeline {
6161
'''
6262
}
6363
}
64-
stage('Test CPU Image') {
65-
options {
66-
timeout(time: 15, unit: 'MINUTES')
67-
}
68-
steps {
69-
retry(2) {
70-
sh '''#!/bin/bash
71-
set -exo pipefail
72-
73-
date
74-
docker pull gcr.io/kaggle-images/python:${PRETEST_TAG}
75-
./test --image gcr.io/kaggle-images/python:${PRETEST_TAG}
76-
'''
77-
}
78-
}
79-
}
8064
stage('Diff CPU image') {
8165
steps {
8266
sh '''#!/bin/bash
@@ -113,44 +97,6 @@ pipeline {
11397
'''
11498
}
11599
}
116-
stage('Test GPU Image') {
117-
stages {
118-
stage('Test on P100') {
119-
agent { label 'ephemeral-linux-gpu' }
120-
options {
121-
timeout(time: 40, unit: 'MINUTES')
122-
}
123-
steps {
124-
retry(2) {
125-
sh '''#!/bin/bash
126-
set -exo pipefail
127-
128-
date
129-
docker pull gcr.io/kaggle-private-byod/python:${PRETEST_TAG}
130-
./test --gpu --image gcr.io/kaggle-private-byod/python:${PRETEST_TAG}
131-
'''
132-
}
133-
}
134-
}
135-
stage('Test on T4x2') {
136-
agent { label 'ephemeral-linux-gpu-t4x2' }
137-
options {
138-
timeout(time: 60, unit: 'MINUTES')
139-
}
140-
steps {
141-
retry(2) {
142-
sh '''#!/bin/bash
143-
set -exo pipefail
144-
145-
date
146-
docker pull gcr.io/kaggle-private-byod/python:${PRETEST_TAG}
147-
./test --gpu --image gcr.io/kaggle-private-byod/python:${PRETEST_TAG}
148-
'''
149-
}
150-
}
151-
}
152-
}
153-
}
154100
stage('Diff GPU Image') {
155101
steps {
156102
sh '''#!/bin/bash
@@ -193,6 +139,61 @@ pipeline {
193139
}
194140
}
195141

142+
stage('Test') {
143+
parallel {
144+
stage('Test CPU Image') {
145+
options {
146+
timeout(time: 15, unit: 'MINUTES')
147+
}
148+
steps {
149+
retry(2) {
150+
sh '''#!/bin/bash
151+
set -exo pipefail
152+
153+
date
154+
docker pull gcr.io/kaggle-images/python:${PRETEST_TAG}
155+
./test --image gcr.io/kaggle-images/python:${PRETEST_TAG}
156+
'''
157+
}
158+
}
159+
}
160+
stage('Test on P100') {
161+
agent { label 'ephemeral-linux-gpu' }
162+
options {
163+
timeout(time: 40, unit: 'MINUTES')
164+
}
165+
steps {
166+
retry(2) {
167+
sh '''#!/bin/bash
168+
set -exo pipefail
169+
170+
date
171+
docker pull gcr.io/kaggle-private-byod/python:${PRETEST_TAG}
172+
./test --gpu --image gcr.io/kaggle-private-byod/python:${PRETEST_TAG}
173+
'''
174+
}
175+
}
176+
}
177+
stage('Test on T4x2') {
178+
agent { label 'ephemeral-linux-gpu-t4x2' }
179+
options {
180+
timeout(time: 60, unit: 'MINUTES')
181+
}
182+
steps {
183+
retry(2) {
184+
sh '''#!/bin/bash
185+
set -exo pipefail
186+
187+
date
188+
docker pull gcr.io/kaggle-private-byod/python:${PRETEST_TAG}
189+
./test --gpu --image gcr.io/kaggle-private-byod/python:${PRETEST_TAG}
190+
'''
191+
}
192+
}
193+
}
194+
}
195+
}
196+
196197
stage('Label CPU/GPU Staging Images') {
197198
steps {
198199
sh '''#!/bin/bash

0 commit comments

Comments
 (0)