Skip to content

Commit 3dbcbfe

Browse files
committed
[CI] issue: HPCINFRA-4016 Split compiler step into parallel steps
The compiler step currently takes a long time to run (about 20–40 minutes). Split the compiler step into 6 separate steps (one per compiler) running in parallel to reduce build duration. Signed-off-by: Noam Tsemah <[email protected]>
1 parent 6689188 commit 3dbcbfe

File tree

2 files changed

+56
-5
lines changed

2 files changed

+56
-5
lines changed

.ci/matrix_job.yaml

Lines changed: 55 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,10 @@ runs_on_dockers:
8282
category: 'tool'
8383
}
8484
- {name: 'toolbox', url: '${registry_host}/hpcx/x86_64/rhel8.6/builder:inbox', category: 'tool', arch: 'x86_64'}
85+
- {name: 'compiler-clang-9.0.1', url: '${registry_host}/hpcx/x86_64/rhel8.6/builder:inbox', category: 'tool', arch: 'x86_64'}
86+
- {name: 'compiler-icc-18.0.4', url: '${registry_host}/hpcx/x86_64/rhel8.6/builder:inbox', category: 'tool', arch: 'x86_64'}
87+
- {name: 'compiler-icc-19.1.1', url: '${registry_host}/hpcx/x86_64/rhel8.6/builder:inbox', category: 'tool', arch: 'x86_64'}
88+
- {name: 'compiler-gcc', url: '${registry_host}/hpcx/x86_64/rhel8.6/builder:inbox', category: 'tool', arch: 'x86_64'}
8589
- {name: 'header-check', url: '${registry_host}/toolbox/header_check:0.0.58', category: 'tool', arch: 'x86_64', tag: '0.0.58'}
8690
# static tests
8791
- {
@@ -242,7 +246,7 @@ steps:
242246
- "{name: 'style', category: 'tool', variant: 1}"
243247
run: |
244248
echo "Installing DOCA: ${DOCA_VERSION} ..."
245-
.ci/scripts/doca_install.sh
249+
.ci/scripts/doca_install.sh
246250
247251
- name: Copyrights
248252
enable: ${do_copyrights}
@@ -311,13 +315,60 @@ steps:
311315
archiveArtifacts-onfail: |
312316
jenkins/**/arch-*.tar.gz
313317
314-
- name: Compiler
318+
- name: Compiler (clang-9.0.1)
315319
enable: ${do_compiler}
316320
containerSelector:
317-
- "{name: 'toolbox', category: 'tool'}"
321+
- "{name: 'compiler-clang-9.0.1', category: 'tool'}"
322+
agentSelector:
323+
- "{nodeLabel: 'skip-agent'}"
324+
run: |
325+
[ "x${do_compiler}" == "xtrue" ] && action=yes || action=no
326+
env WORKSPACE=$PWD TARGET=${flags} COMPILER_SPEC="clang:clang++:dev/clang-9.0.1" jenkins_test_compiler=${action} ./contrib/test_jenkins.sh
327+
parallel: false
328+
onfail: |
329+
./.ci/artifacts.sh
330+
archiveArtifacts-onfail: |
331+
jenkins/**/arch-*.tar.gz
332+
333+
- name: Compiler (icc-18.0.4)
334+
enable: ${do_compiler}
335+
containerSelector:
336+
- "{name: 'compiler-icc-18.0.4', category: 'tool'}"
337+
agentSelector:
338+
- "{nodeLabel: 'skip-agent'}"
339+
run: |
340+
[ "x${do_compiler}" == "xtrue" ] && action=yes || action=no
341+
env WORKSPACE=$PWD TARGET=${flags} COMPILER_SPEC="icc:icpc:intel/ics-18.0.4" jenkins_test_compiler=${action} ./contrib/test_jenkins.sh
342+
parallel: false
343+
onfail: |
344+
./.ci/artifacts.sh
345+
archiveArtifacts-onfail: |
346+
jenkins/**/arch-*.tar.gz
347+
348+
- name: Compiler (icc-19.1.1)
349+
enable: ${do_compiler}
350+
containerSelector:
351+
- "{name: 'compiler-icc-19.1.1', category: 'tool'}"
352+
agentSelector:
353+
- "{nodeLabel: 'skip-agent'}"
354+
run: |
355+
[ "x${do_compiler}" == "xtrue" ] && action=yes || action=no
356+
env WORKSPACE=$PWD TARGET=${flags} COMPILER_SPEC="icc:icpc:intel/ics-19.1.1" jenkins_test_compiler=${action} ./contrib/test_jenkins.sh
357+
parallel: false
358+
onfail: |
359+
./.ci/artifacts.sh
360+
archiveArtifacts-onfail: |
361+
jenkins/**/arch-*.tar.gz
362+
363+
- name: Compiler (gcc)
364+
enable: ${do_compiler}
365+
containerSelector:
366+
- "{name: 'compiler-gcc', category: 'tool'}"
367+
agentSelector:
368+
- "{nodeLabel: 'skip-agent'}"
318369
run: |
319370
[ "x${do_compiler}" == "xtrue" ] && action=yes || action=no
320-
env WORKSPACE=$PWD TARGET=${flags} jenkins_test_compiler=${action} ./contrib/test_jenkins.sh
371+
env WORKSPACE=$PWD TARGET=${flags} COMPILER_SPEC="gcc:g++:dev/gcc-8.3.0 gcc:g++:dev/gcc-9.3.0 gcc:g++:dev/gcc-10.1.0" jenkins_test_compiler=${action} ./contrib/test_jenkins.sh
321372
parallel: false
322373
onfail: |
323374
./.ci/artifacts.sh

contrib/jenkins_tests/compiler.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ rm -rf $compiler_dir
1010
mkdir -p $compiler_dir
1111
cd $compiler_dir
1212

13-
compiler_list="clang:clang++:dev/clang-9.0.1 icc:icpc:intel/ics-18.0.4 icc:icpc:intel/ics-19.1.1 gcc:g++:dev/gcc-8.3.0 gcc:g++:dev/gcc-9.3.0 gcc:g++:dev/gcc-10.1.0"
13+
compiler_list=${COMPILER_SPEC:-"clang:clang++:dev/clang-9.0.1 icc:icpc:intel/ics-18.0.4 icc:icpc:intel/ics-19.1.1 gcc:g++:dev/gcc-8.3.0 gcc:g++:dev/gcc-9.3.0 gcc:g++:dev/gcc-10.1.0"}
1414

1515
compiler_tap=${WORKSPACE}/${prefix}/compiler.tap
1616
echo "1..$(echo $compiler_list | tr " " "\n" | wc -l)" > $compiler_tap

0 commit comments

Comments
 (0)