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

Heinrich Schuchardt
2019-08-04T13:04:40Z

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/suse/armv7hl/grub2-arm-efi-2.02~beta2-87.1.armv7hl.rpm | rpm2cpio | cpio -di )
- - mkdir ~/grub2-arm64
- - ( cd ~/grub2-arm64; wget -O - http://download.opensuse.org/ports/aarch64/distribution/leap/42.2/repo/oss/suse/aarch64/grub2-arm64-efi-2.02~beta2-87.1.aarch64.rpm | 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