Skip to content

Commit 50d5ed1

Browse files
ci(workflows): setup multi-runners strategy (#841)
Co-authored-by: pyansys-ci-bot <[email protected]>
1 parent 3bc1d5d commit 50d5ed1

File tree

4 files changed

+70
-72
lines changed

4 files changed

+70
-72
lines changed

.github/workflows/ci_cd_night.yml

Lines changed: 20 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -94,27 +94,27 @@ jobs:
9494
id: docker
9595
run: |
9696
image_name="${STK_DOCKER_IMAGE}-python${MAIN_PYTHON_VERSION}"
97-
container_name="stk-python${MAIN_PYTHON_VERSION}"
9897
echo "image=${image_name}" >> "${GITHUB_OUTPUT}"
99-
echo "container=${container_name}" >> "${GITHUB_OUTPUT}"
10098
10199
- name: "Start the container from the desired image"
100+
id: container
102101
env:
103102
STK_IMAGE: ${{ steps.docker.outputs.image }}
104-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
105103
LICENSE_SERVER: ${{ secrets.LICENSE_SERVER }}
106104
run: |
107105
docker run \
108106
--detach -it \
109107
--network="host" \
110-
--name "${STK_CONTAINER}" \
111108
--env ANSYSLMD_LICENSE_FILE="${LICENSE_SERVER_PORT}@${LICENSE_SERVER}" \
112109
--volume ${PWD}:/home/stk/pystk \
113110
"${STK_IMAGE}"
114111
112+
container_name=$(docker ps --latest --format "{{.Names}}")
113+
echo "name=${container_name}" >> "${GITHUB_OUTPUT}"
114+
115115
- name: "Install system dependencies required for building examples"
116116
env:
117-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
117+
STK_CONTAINER: ${{ steps.container.outputs.name }}
118118
run: |
119119
docker exec \
120120
--user root \
@@ -140,7 +140,7 @@ jobs:
140140
141141
- name: "Install Tox"
142142
env:
143-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
143+
STK_CONTAINER: ${{ steps.container.outputs.name }}
144144
run: |
145145
docker exec \
146146
--workdir ${PYSTK_DIR} \
@@ -149,7 +149,7 @@ jobs:
149149
150150
- name: "Build the full documentation"
151151
env:
152-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
152+
STK_CONTAINER: ${{ steps.container.outputs.name }}
153153
run: |
154154
docker exec \
155155
--workdir ${PYSTK_DIR} \
@@ -165,7 +165,7 @@ jobs:
165165
- name: "Stop the container"
166166
if: always()
167167
env:
168-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
168+
STK_CONTAINER: ${{ steps.container.outputs.name }}
169169
run: |
170170
docker stop "${STK_CONTAINER}"
171171
docker logs "${STK_CONTAINER}"
@@ -201,14 +201,11 @@ jobs:
201201
id: docker
202202
run: |
203203
image_name=${STK_DOCKER_IMAGE}-python${MAIN_PYTHON_VERSION}
204-
container_name=stk-python${MAIN_PYTHON_VERSION}
205204
echo "image=${image_name}" >> "${GITHUB_OUTPUT}"
206-
echo "container=${container_name}" >> "${GITHUB_OUTPUT}"
207205
208206
- name: "Start the container from the desired image"
209207
env:
210208
STK_IMAGE: ${{ steps.docker.outputs.image }}
211-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
212209
LICENSE_SERVER: ${{ secrets.LICENSE_SERVER }}
213210
run: |
214211
docker run \
@@ -221,7 +218,7 @@ jobs:
221218
222219
- name: "Install the project with the testing dependencies"
223220
env:
224-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
221+
STK_CONTAINER: ${{ steps.container.outputs.name }}
225222
run: |
226223
docker exec \
227224
--workdir ${PYSTK_DIR} \
@@ -230,7 +227,7 @@ jobs:
230227
231228
- name: "Install coverage dependencies"
232229
env:
233-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
230+
STK_CONTAINER: ${{ steps.container.outputs.name }}
234231
run: |
235232
docker exec \
236233
--workdir ${PYSTK_DIR} \
@@ -241,7 +238,7 @@ jobs:
241238

242239
- name: "Run the extensions tests"
243240
env:
244-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
241+
STK_CONTAINER: ${{ steps.container.outputs.name }}
245242
run: |
246243
docker exec \
247244
--workdir ${PYSTK_DIR} \
@@ -250,7 +247,7 @@ jobs:
250247
251248
- name: "Run the API migration assistant tests"
252249
env:
253-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
250+
STK_CONTAINER: ${{ steps.container.outputs.name }}
254251
run: |
255252
docker exec \
256253
--workdir ${PYSTK_DIR} \
@@ -259,7 +256,7 @@ jobs:
259256
260257
- name: "Run the aviator tests"
261258
env:
262-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
259+
STK_CONTAINER: ${{ steps.container.outputs.name }}
263260
run: |
264261
docker exec \
265262
--workdir ${PYSTK_DIR} \
@@ -268,7 +265,7 @@ jobs:
268265
269266
- name: "Run the non graphics stk tests"
270267
env:
271-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
268+
STK_CONTAINER: ${{ steps.container.outputs.name }}
272269
run: |
273270
docker exec \
274271
--workdir ${PYSTK_DIR} \
@@ -277,7 +274,7 @@ jobs:
277274
278275
- name: "Run the graphics only stk tests"
279276
env:
280-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
277+
STK_CONTAINER: ${{ steps.container.outputs.name }}
281278
run: |
282279
docker exec \
283280
--workdir ${PYSTK_DIR} \
@@ -286,7 +283,7 @@ jobs:
286283
287284
- name: "Run the vgt tests"
288285
env:
289-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
286+
STK_CONTAINER: ${{ steps.container.outputs.name }}
290287
run: |
291288
docker exec \
292289
--workdir ${PYSTK_DIR} \
@@ -295,7 +292,7 @@ jobs:
295292
296293
- name: "Run the doc snippet tests"
297294
env:
298-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
295+
STK_CONTAINER: ${{ steps.container.outputs.name }}
299296
run: |
300297
docker exec \
301298
--workdir ${PYSTK_DIR} \
@@ -307,7 +304,7 @@ jobs:
307304
- name: "Combine all coverage results"
308305
if: ${{ matrix.python == env.MINIMUM_PYTHON_VERSION }}
309306
env:
310-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
307+
STK_CONTAINER: ${{ steps.container.outputs.name }}
311308
run: |
312309
docker exec \
313310
--workdir ${PYSTK_DIR}/.cov \
@@ -317,7 +314,7 @@ jobs:
317314
- name: "Generate coverage report in XML and HTML"
318315
if: ${{ matrix.python == env.MINIMUM_PYTHON_VERSION }}
319316
env:
320-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
317+
STK_CONTAINER: ${{ steps.container.outputs.name }}
321318
run: |
322319
docker exec \
323320
--workdir ${PYSTK_DIR} \
@@ -345,7 +342,7 @@ jobs:
345342
- name: "Stop the container"
346343
if: always()
347344
env:
348-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
345+
STK_CONTAINER: ${{ steps.container.outputs.name }}
349346
run: |
350347
docker stop "${STK_CONTAINER}"
351348
docker logs "${STK_CONTAINER}"

.github/workflows/ci_cd_pr.yml

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -230,31 +230,31 @@ jobs:
230230
id: docker
231231
run: |
232232
image_name=${STK_DOCKER_IMAGE}-python${MAIN_PYTHON_VERSION}
233-
container_name=stk-python${MAIN_PYTHON_VERSION}
234233
echo "image=${image_name}" >> "${GITHUB_OUTPUT}"
235-
echo "container=${container_name}" >> "${GITHUB_OUTPUT}"
236234
237235
- name: "Start the container from the desired image"
238236
if: |
239237
contains(github.event.pull_request.labels.*.name, 'docs:examples')
238+
id: container
240239
env:
241240
STK_IMAGE: ${{ steps.docker.outputs.image }}
242-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
243241
LICENSE_SERVER: ${{ secrets.LICENSE_SERVER }}
244242
run: |
245243
docker run \
246244
--detach -it \
247245
--network="host" \
248-
--name "${STK_CONTAINER}" \
249246
--env ANSYSLMD_LICENSE_FILE="${LICENSE_SERVER_PORT}@${LICENSE_SERVER}" \
250247
--volume ${PWD}:/home/stk/pystk \
251248
"${STK_IMAGE}"
252249
250+
container_name=$(docker ps --latest --format "{{.Names}}")
251+
echo "name=${container_name}" >> "${GITHUB_OUTPUT}"
252+
253253
- name: "Install system dependencies required for building examples"
254254
if: |
255255
contains(github.event.pull_request.labels.*.name, 'docs:examples')
256256
env:
257-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
257+
STK_CONTAINER: ${{ steps.container.outputs.name }}
258258
run: |
259259
docker exec \
260260
--user root \
@@ -280,7 +280,7 @@ jobs:
280280
281281
- name: "Install Tox in the GitHub runner or the self-hosted runner"
282282
env:
283-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
283+
STK_CONTAINER: ${{ steps.container.outputs.name }}
284284
NEEDS_SELF_HOSTED_RUNNER: ${{ contains(github.event.pull_request.labels.*.name, 'docs:examples') }}
285285
run: |
286286
if [[ "${NEEDS_SELF_HOSTED_RUNNER}" == "true" ]]; then
@@ -302,7 +302,7 @@ jobs:
302302
contains(github.event.pull_request.labels.*.name, 'docs:examples') &&
303303
!contains(github.event.pull_request.labels.*.name, 'docs:api')
304304
env:
305-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
305+
STK_CONTAINER: ${{ steps.container.outputs.name }}
306306
run: |
307307
docker exec \
308308
--workdir ${PYSTK_DIR} \
@@ -336,7 +336,7 @@ jobs:
336336
contains(github.event.pull_request.labels.*.name, 'docs:examples') &&
337337
contains(github.event.pull_request.labels.*.name, 'docs:api')
338338
env:
339-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
339+
STK_CONTAINER: ${{ steps.container.outputs.name }}
340340
run: |
341341
docker exec \
342342
--workdir ${PYSTK_DIR} \
@@ -389,7 +389,7 @@ jobs:
389389
- name: "Stop the container"
390390
if: always()
391391
env:
392-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
392+
STK_CONTAINER: ${{ steps.container.outputs.name }}
393393
NEEDS_SELF_HOSTED_RUNNER: ${{ contains(github.event.pull_request.labels.*.name, 'docs:examples') }}
394394
run: |
395395
if [[ "${NEEDS_SELF_HOSTED_RUNNER}" == "true" ]]; then
@@ -426,27 +426,27 @@ jobs:
426426
id: docker
427427
run: |
428428
image_name=${STK_DOCKER_IMAGE}-python${MAIN_PYTHON_VERSION}
429-
container_name=stk-python${MAIN_PYTHON_VERSION}
430429
echo "image=${image_name}" >> "${GITHUB_OUTPUT}"
431-
echo "container=${container_name}" >> "${GITHUB_OUTPUT}"
432430
433431
- name: "Start the container from the desired image"
434432
env:
435433
STK_IMAGE: ${{ steps.docker.outputs.image }}
436-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
437434
LICENSE_SERVER: ${{ secrets.LICENSE_SERVER }}
435+
id: container
438436
run: |
439437
docker run \
440438
--detach -it \
441439
--network="host" \
442-
--name "${STK_CONTAINER}" \
443440
--env ANSYSLMD_LICENSE_FILE="${LICENSE_SERVER_PORT}@${LICENSE_SERVER}" \
444441
--volume ${PWD}:/home/stk/pystk \
445442
"${STK_IMAGE}"
446443
444+
container_name=$(docker ps --latest --format "{{.Names}}")
445+
echo "name=${container_name}" >> "${GITHUB_OUTPUT}"
446+
447447
- name: "Install the project with the testing dependencies"
448448
env:
449-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
449+
STK_CONTAINER: ${{ steps.container.outputs.name }}
450450
run: |
451451
docker exec \
452452
--workdir ${PYSTK_DIR} \
@@ -455,7 +455,7 @@ jobs:
455455
456456
- name: "Install coverage dependencies"
457457
env:
458-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
458+
STK_CONTAINER: ${{ steps.container.outputs.name }}
459459
run: |
460460
docker exec \
461461
--workdir ${PYSTK_DIR} \
@@ -464,7 +464,7 @@ jobs:
464464
465465
- name: "Run the extensions tests"
466466
env:
467-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
467+
STK_CONTAINER: ${{ steps.container.outputs.name }}
468468
run: |
469469
docker exec \
470470
--workdir ${PYSTK_DIR} \
@@ -473,7 +473,7 @@ jobs:
473473
474474
- name: "Run the API migration assistant tests"
475475
env:
476-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
476+
STK_CONTAINER: ${{ steps.container.outputs.name }}
477477
run: |
478478
docker exec \
479479
--workdir ${PYSTK_DIR} \
@@ -482,7 +482,7 @@ jobs:
482482
483483
- name: "Run the aviator tests"
484484
env:
485-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
485+
STK_CONTAINER: ${{ steps.container.outputs.name }}
486486
run: |
487487
docker exec \
488488
--workdir ${PYSTK_DIR} \
@@ -491,7 +491,7 @@ jobs:
491491
492492
- name: "Run the non graphics stk tests"
493493
env:
494-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
494+
STK_CONTAINER: ${{ steps.container.outputs.name }}
495495
run: |
496496
docker exec \
497497
--workdir ${PYSTK_DIR} \
@@ -500,7 +500,7 @@ jobs:
500500
501501
- name: "Run the graphics only stk tests"
502502
env:
503-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
503+
STK_CONTAINER: ${{ steps.container.outputs.name }}
504504
run: |
505505
docker exec \
506506
--workdir ${PYSTK_DIR} \
@@ -509,7 +509,7 @@ jobs:
509509
510510
- name: "Run the vgt tests"
511511
env:
512-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
512+
STK_CONTAINER: ${{ steps.container.outputs.name }}
513513
run: |
514514
docker exec \
515515
--workdir ${PYSTK_DIR} \
@@ -518,7 +518,7 @@ jobs:
518518
519519
- name: "Run the doc snippet tests"
520520
env:
521-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
521+
STK_CONTAINER: ${{ steps.container.outputs.name }}
522522
run: |
523523
docker exec \
524524
--workdir ${PYSTK_DIR} \
@@ -530,7 +530,7 @@ jobs:
530530
- name: "Combine all coverage results"
531531
if: ${{ matrix.python == env.MINIMUM_PYTHON_VERSION }}
532532
env:
533-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
533+
STK_CONTAINER: ${{ steps.container.outputs.name }}
534534
run: |
535535
docker exec \
536536
--workdir ${PYSTK_DIR}/.cov \
@@ -540,7 +540,7 @@ jobs:
540540
- name: "Generate coverage report in XML and HTML"
541541
if: ${{ matrix.python == env.MINIMUM_PYTHON_VERSION }}
542542
env:
543-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
543+
STK_CONTAINER: ${{ steps.container.outputs.name }}
544544
run: |
545545
docker exec \
546546
--workdir ${PYSTK_DIR} \
@@ -568,7 +568,7 @@ jobs:
568568
- name: "Stop the container"
569569
if: always()
570570
env:
571-
STK_CONTAINER: ${{ steps.docker.outputs.container }}
571+
STK_CONTAINER: ${{ steps.container.outputs.name }}
572572
run: |
573573
docker stop "${STK_CONTAINER}"
574574
docker logs "${STK_CONTAINER}"

0 commit comments

Comments
 (0)