Skip to content

Commit aa1bab7

Browse files
committed
limit parallel for circleci
1 parent 91799b0 commit aa1bab7

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

tools/build.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -110,12 +110,13 @@ def cmake_board(board, toolchain, build_flags_on):
110110
f'-DTOOLCHAIN={toolchain} {build_flags}')
111111
if rcmd.returncode == 0:
112112
cmd = f"cmake --build {build_dir}"
113-
# Due to IAR capability, limit parallel build to 4 (medium+) or 6 (large) docker
114-
if toolchain == 'iar' and os.getenv('CIRCLECI'):
115-
if 'large' in os.getenv('CIRCLE_JOB'):
116-
cmd += ' --parallel 6'
117-
else:
118-
cmd += ' --parallel 4'
113+
# circleci docker return $nproc as 36 core, limit parallel according to resource class. Required for IAR, also prevent crashed/killed by docker
114+
if os.getenv('CIRCLECI'):
115+
resource_class = { 'small': 1, 'medium': 2, 'medium+': 3, 'large': 4 }
116+
for rc in resource_class:
117+
if rc in os.getenv('CIRCLE_JOB'):
118+
cmd += f' --parallel {resource_class[rc]}'
119+
break
119120
rcmd = run_cmd(cmd)
120121
ret[0 if rcmd.returncode == 0 else 1] += 1
121122

0 commit comments

Comments
 (0)