[U-Boot] [PATCH 1/2] GitLab CI: Split the world build into 4 jobs

To better allow for parallelization of the world build job split things into 32bit ARM (687 boards), 64bit ARM (215), PowerPC (311 boards) and everything else (167 boards).
While the 32bit ARM job is heavier than I would like, there is not a natural split that would reduce it in half or so without requiring the sort of hard to maintain splits we have to do in Travis CI.
Signed-off-by: Tom Rini trini@konsulko.com --- .gitlab-ci.yml | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index da27caeef688..c24a7eaa628f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -68,12 +68,45 @@ stages: fi; fi;
-build all plaforms: +build all 32bit ARM plaforms: tags: [ 'all' ] stage: world build script: - ret=0; - ./tools/buildman/buildman -P -E || ret=$?; + ./tools/buildman/buildman -P -E arm -x aarch64 || ret=$?; + if [[ $ret -ne 0 && $ret -ne 129 ]]; then + ./tools/buildman/buildman -sdeP; + exit $ret; + fi; + +build all 64bit ARM plaforms: + tags: [ 'all' ] + stage: world build + script: + - ret=0; + ./tools/buildman/buildman -P -E aarch64 || ret=$?; + if [[ $ret -ne 0 && $ret -ne 129 ]]; then + ./tools/buildman/buildman -sdeP; + exit $ret; + fi; + +build all PowerPC plaforms: + tags: [ 'all' ] + stage: world build + script: + - ret=0; + ./tools/buildman/buildman -P -E powerpc || ret=$?; + if [[ $ret -ne 0 && $ret -ne 129 ]]; then + ./tools/buildman/buildman -sdeP; + exit $ret; + fi; + +build all other plaforms: + tags: [ 'all' ] + stage: world build + script: + - ret=0; + ./tools/buildman/buildman -P -E -x arm,powerpc || ret=$?; if [[ $ret -ne 0 && $ret -ne 129 ]]; then ./tools/buildman/buildman -sdeP; exit $ret;

We need this for building some 64bit ARM platforms, not for test.py runs.
Signed-off-by: Tom Rini trini@konsulko.com --- .gitlab-ci.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c24a7eaa628f..e27d86f96281 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -22,7 +22,6 @@ stages: - . /tmp/venv/bin/activate - pip install pytest==2.8.7 - pip install python-subunit - - pip install pyelftools - grub-mkimage -o ~/grub_x86.efi -O i386-efi normal echo lsefimmap lsefi lsefisystab efinet tftp minicmd - grub-mkimage -o ~/grub_x64.efi -O x86_64-efi normal echo lsefimmap lsefi lsefisystab efinet tftp minicmd - mkdir ~/grub2-arm @@ -83,6 +82,9 @@ build all 64bit ARM plaforms: tags: [ 'all' ] stage: world build script: + - virtualenv /tmp/venv + - . /tmp/venv/bin/activate + - pip install pyelftools - ret=0; ./tools/buildman/buildman -P -E aarch64 || ret=$?; if [[ $ret -ne 0 && $ret -ne 129 ]]; then

On Thu, Jul 18, 2019 at 11:27:28AM -0400, Tom Rini wrote:
We need this for building some 64bit ARM platforms, not for test.py runs.
Signed-off-by: Tom Rini trini@konsulko.com
Applied to u-boot/master, thanks!

On Thu, Jul 18, 2019 at 11:27:27AM -0400, Tom Rini wrote:
To better allow for parallelization of the world build job split things into 32bit ARM (687 boards), 64bit ARM (215), PowerPC (311 boards) and everything else (167 boards).
While the 32bit ARM job is heavier than I would like, there is not a natural split that would reduce it in half or so without requiring the sort of hard to maintain splits we have to do in Travis CI.
Signed-off-by: Tom Rini trini@konsulko.com
Applied to u-boot/master, thanks!
participants (1)
-
Tom Rini