limit parallel for circleci
This commit is contained in:
@@ -110,12 +110,13 @@ def cmake_board(board, toolchain, build_flags_on):
|
|||||||
f'-DTOOLCHAIN={toolchain} {build_flags}')
|
f'-DTOOLCHAIN={toolchain} {build_flags}')
|
||||||
if rcmd.returncode == 0:
|
if rcmd.returncode == 0:
|
||||||
cmd = f"cmake --build {build_dir}"
|
cmd = f"cmake --build {build_dir}"
|
||||||
# Due to IAR capability, limit parallel build to 4 (medium+) or 6 (large) docker
|
# circleci docker return $nproc as 36 core, limit parallel according to resource class. Required for IAR, also prevent crashed/killed by docker
|
||||||
if toolchain == 'iar' and os.getenv('CIRCLECI'):
|
if os.getenv('CIRCLECI'):
|
||||||
if 'large' in os.getenv('CIRCLE_JOB'):
|
resource_class = { 'small': 1, 'medium': 2, 'medium+': 3, 'large': 4 }
|
||||||
cmd += ' --parallel 6'
|
for rc in resource_class:
|
||||||
else:
|
if rc in os.getenv('CIRCLE_JOB'):
|
||||||
cmd += ' --parallel 4'
|
cmd += f' --parallel {resource_class[rc]}'
|
||||||
|
break
|
||||||
rcmd = run_cmd(cmd)
|
rcmd = run_cmd(cmd)
|
||||||
ret[0 if rcmd.returncode == 0 else 1] += 1
|
ret[0 if rcmd.returncode == 0 else 1] += 1
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user