[U-Boot] [RFC DO-NOT-APPLY 1/1] .travis.yml: use GRUB from Docker image

For GitLab we create our own GRUB binaries. Use them for Travis CI too.
Signed-off-by: Heinrich Schuchardt xypron.glpk@gmx.de --- Hello Tom,
with this patch every single of the 78 sub-job will pull our Docker image resulting in 78 times 2GB traffic and 78 times 3 min for pulling the image.
This cannot be the right way to do it. I think it would be preferable to copy our GRUB images only. Can't we have a repository on gitlab.denx.de where we put all Travis CI binary dependencies:
* GRUB images * QEMU images * cross compilers
Best regards
Heinrich --- .travis.yml | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/.travis.yml b/.travis.yml index 38fc10318e..6c1dc53fe4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,6 +8,9 @@ dist: trusty
language: c
+services: + - docker + addons: apt: sources: @@ -54,10 +57,17 @@ install: - 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 - - ( cd ~/grub2-arm; wget -O - http://download.opensuse.org/ports/armv7hl/distribution/leap/42.2/repo/oss/s... | rpm2cpio | cpio -di ) - - mkdir ~/grub2-arm64 - - ( cd ~/grub2-arm64; wget -O - http://download.opensuse.org/ports/aarch64/distribution/leap/42.2/repo/oss/s... | rpm2cpio | cpio -di ) + - export DOCKER_IMAGE=trini/u-boot-gitlab-ci-runner:xenial-20190720-29Jul2019 + - sudo docker pull $DOCKER_IMAGE + - sudo docker create -ti $DOCKER_IMAGE + - export DOCKER_CONTAINER=$(sudo docker ps -aqf "ancestor=$DOCKER_IMAGE") + - mkdir -p ~/grub2-arm/usr/lib/efi/ + - mkdir -p ~/grub2-arm/usr/lib/grub2/arm-efi/ + - sudo docker cp $DOCKER_CONTAINER:/opt/grub/grubarm.efi ~/grub2-arm/usr/lib/efi/ + - sudo docker cp $DOCKER_CONTAINER:/opt/grub/grubaa64.efi ~/grub2-arm/usr/lib/grub2/arm-efi/ + - sudo docker rm $DOCKER_CONTAINER + - unset DOCKER_CONTAINER + - unset DOCKER_IMAGE
env: global: -- 2.20.1

On Sun, Aug 04, 2019 at 03:04:40PM +0200, Heinrich Schuchardt wrote:
For GitLab we create our own GRUB binaries. Use them for Travis CI too.
Signed-off-by: Heinrich Schuchardt xypron.glpk@gmx.de
Hello Tom,
with this patch every single of the 78 sub-job will pull our Docker image resulting in 78 times 2GB traffic and 78 times 3 min for pulling the image.
This cannot be the right way to do it. I think it would be preferable to copy our GRUB images only. Can't we have a repository on gitlab.denx.de where we put all Travis CI binary dependencies:
- GRUB images
- QEMU images
- cross compilers
I was hoping that we could tell Travis to just fully use our Docker images. Looking at https://docs.travis-ci.com/user/build-stages/share-docker-image/ maybe we can just restrict the Docker pull to the test.py stages that use GRUB for tests? And then as part of a move to Xenial we could also copy out QEMU.

On 8/5/19 3:17 PM, Tom Rini wrote:
On Sun, Aug 04, 2019 at 03:04:40PM +0200, Heinrich Schuchardt wrote:
For GitLab we create our own GRUB binaries. Use them for Travis CI too.
Signed-off-by: Heinrich Schuchardt xypron.glpk@gmx.de
Hello Tom,
with this patch every single of the 78 sub-job will pull our Docker image resulting in 78 times 2GB traffic and 78 times 3 min for pulling the image.
This cannot be the right way to do it. I think it would be preferable to copy our GRUB images only. Can't we have a repository on gitlab.denx.de where we put all Travis CI binary dependencies:
- GRUB images
- QEMU images
- cross compilers
I was hoping that we could tell Travis to just fully use our Docker images. Looking at https://docs.travis-ci.com/user/build-stages/share-docker-image/ maybe we can just restrict the Docker pull to the test.py stages that use GRUB for tests? And then as part of a move to Xenial we could also copy out QEMU.
We would still be downloading gitabyes where we only need a few MBs of files.
Best regards
Heinrich

On Mon, Aug 05, 2019 at 10:11:58PM +0200, Heinrich Schuchardt wrote:
On 8/5/19 3:17 PM, Tom Rini wrote:
On Sun, Aug 04, 2019 at 03:04:40PM +0200, Heinrich Schuchardt wrote:
For GitLab we create our own GRUB binaries. Use them for Travis CI too.
Signed-off-by: Heinrich Schuchardt xypron.glpk@gmx.de
Hello Tom,
with this patch every single of the 78 sub-job will pull our Docker image resulting in 78 times 2GB traffic and 78 times 3 min for pulling the image.
This cannot be the right way to do it. I think it would be preferable to copy our GRUB images only. Can't we have a repository on gitlab.denx.de where we put all Travis CI binary dependencies:
- GRUB images
- QEMU images
- cross compilers
I was hoping that we could tell Travis to just fully use our Docker images. Looking at https://docs.travis-ci.com/user/build-stages/share-docker-image/ maybe we can just restrict the Docker pull to the test.py stages that use GRUB for tests? And then as part of a move to Xenial we could also copy out QEMU.
We would still be downloading gitabyes where we only need a few MBs of files.
Yes, but we could also kill out some building time with the move to xenial, might end up being no real change in overall time.
participants (2)
-
Heinrich Schuchardt
-
Tom Rini