Use 2 cores per job in github build
As of today, https://docs.github.com/en/actions/reference/virtual-environments-for-github-hosted-runners states that hosted runners have a 2-core CPU. This uses make -j $physical_cores to try and be better about utilizing the time spent on those machines. When github upgrades runners to have more cores we'll benefit from that too.
This commit is contained in:
parent
a6e048686f
commit
11d225fe62
@ -5,6 +5,7 @@
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
import os
|
||||
import multiprocessing
|
||||
import sys
|
||||
import subprocess
|
||||
import shutil
|
||||
@ -27,6 +28,8 @@ sha, version = build_info.get_version_info()
|
||||
|
||||
languages = build_info.get_languages()
|
||||
exit_status = 0
|
||||
cores = multiprocessing.cpu_count()
|
||||
print('building boards with parallelism {}'.format(cores))
|
||||
for board in build_boards:
|
||||
bin_directory = "../bin/{}/".format(board)
|
||||
os.makedirs(bin_directory, exist_ok=True)
|
||||
@ -41,8 +44,8 @@ for board in build_boards:
|
||||
# But sometimes a particular language needs to be built from scratch, if, for instance,
|
||||
# CFLAGS_INLINE_LIMIT is set for a particular language to make it fit.
|
||||
clean_build_check_result = subprocess.run(
|
||||
"make -C ../ports/{port} TRANSLATION={language} BOARD={board} check-release-needs-clean-build | fgrep 'RELEASE_NEEDS_CLEAN_BUILD = 1'".format(
|
||||
port = board_info["port"], language=language, board=board),
|
||||
"make -C ../ports/{port} TRANSLATION={language} BOARD={board} check-release-needs-clean-build -j {cores} | fgrep 'RELEASE_NEEDS_CLEAN_BUILD = 1'".format(
|
||||
port = board_info["port"], language=language, board=board, cores=cores),
|
||||
shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
||||
clean_build = clean_build_check_result.returncode == 0
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user