diff options
author | Christian Gmeiner <[email protected]> | 2020-06-07 22:03:34 +0200 |
---|---|---|
committer | Marge Bot <[email protected]> | 2020-06-09 06:29:30 +0000 |
commit | 408b36a11dfe0bf3cbfda114c058ce7682b90483 (patch) | |
tree | b20b870d026955215f0f9d90c38c48b40690653b | |
parent | d7923c74d42d4d745e6e5b2b572ac558f2b9a1ed (diff) |
ci: add arm_test-base docker image
Similar to x86_build-base.
Signed-off-by: Christian Gmeiner <[email protected]>
Reviewed-by: Eric Anholt <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5381>
-rw-r--r-- | .gitlab-ci.yml | 24 | ||||
-rw-r--r-- | .gitlab-ci/container/arm_test-base.sh | 72 | ||||
-rw-r--r-- | .gitlab-ci/container/arm_test.sh | 59 | ||||
-rw-r--r-- | .gitlab-ci/container/arm_test_base.sh | 95 |
4 files changed, 189 insertions, 61 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f8c6c9ff32d..5a57ddfe80a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -268,11 +268,31 @@ arm_build: needs: - arm_build +# Debian 10 based x86 baremetal image base +arm_test-base: + extends: + - .fdo.container-build@debian + - .container + variables: + FDO_DISTRIBUTION_TAG: &arm_test-base "2020-06-07" + +.use-arm_test-base: + extends: + - arm_test-base + - .ci-run-policy + stage: container-2 + variables: + BASE_TAG: *arm_test-base + FDO_BASE_IMAGE: "$CI_REGISTRY_IMAGE/debian/arm_test-base:$BASE_TAG" + needs: + - arm_test-base + # x86 image with ARM rootfses for baremetal testing. arm_test: - extends: x86_build-base + extends: + - .use-arm_test-base variables: - FDO_DISTRIBUTION_TAG: &arm_test "2020-06-01" + FDO_DISTRIBUTION_TAG: &arm_test "2020-06-07" .use-arm_test: variables: diff --git a/.gitlab-ci/container/arm_test-base.sh b/.gitlab-ci/container/arm_test-base.sh new file mode 100644 index 00000000000..b59f6daa6ed --- /dev/null +++ b/.gitlab-ci/container/arm_test-base.sh @@ -0,0 +1,72 @@ +#!/bin/bash + +set -e +set -o xtrace + +# etnaviv will eventually need armhf too. +CROSS_ARCHITECTURES="arm64" + +for arch in $CROSS_ARCHITECTURES; do + dpkg --add-architecture $arch +done + +############### Install packages for building +apt-get install -y ca-certificates +sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list +echo 'deb https://deb.debian.org/debian buster-backports main' >/etc/apt/sources.list.d/backports.list +apt-get update + +apt-get install -y --no-remove \ + abootimg \ + android-sdk-ext4-utils \ + bc \ + bison \ + bzip2 \ + ccache \ + cmake \ + cpio \ + g++ \ + debootstrap \ + fastboot \ + flex \ + git \ + netcat \ + python3-distutils \ + python3-minimal \ + python3-serial \ + python3.7 \ + pkg-config \ + procps \ + u-boot-tools \ + unzip + +apt install -t buster-backports -y --no-remove \ + meson + +# Cross-build test deps +for arch in $CROSS_ARCHITECTURES; do + apt-get install -y --no-remove \ + crossbuild-essential-${arch} \ + libdrm-dev:${arch} \ + libegl1-mesa-dev:${arch} \ + libelf-dev:${arch} \ + libexpat1-dev:${arch} \ + libffi-dev:${arch} \ + libgbm-dev:${arch} \ + libgles2-mesa-dev:${arch} \ + libpng-dev:${arch} \ + libstdc++6:${arch} \ + libtinfo-dev:${arch} \ + libegl1-mesa-dev:${arch} \ + libvulkan-dev:${arch} + + mkdir /var/cache/apt/archives/${arch} +done + +############### Create cross-files + +for arch in $CROSS_ARCHITECTURES; do + . .gitlab-ci/create-cross-file.sh $arch +done + +. .gitlab-ci/container/container_post_build.sh diff --git a/.gitlab-ci/container/arm_test.sh b/.gitlab-ci/container/arm_test.sh index bebdd2350b0..3bdcd2e6b0a 100644 --- a/.gitlab-ci/container/arm_test.sh +++ b/.gitlab-ci/container/arm_test.sh @@ -6,70 +6,11 @@ set -o xtrace # etnaviv will eventually need armhf too. CROSS_ARCHITECTURES="arm64" -for arch in $CROSS_ARCHITECTURES; do - dpkg --add-architecture $arch -done - -############### Install packages for building -apt-get install -y ca-certificates -sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list -echo 'deb https://deb.debian.org/debian buster-backports main' >/etc/apt/sources.list.d/backports.list -apt-get update - -apt-get install -y --no-remove \ - abootimg \ - android-sdk-ext4-utils \ - bc \ - bison \ - bzip2 \ - ccache \ - cmake \ - cpio \ - g++ \ - debootstrap \ - fastboot \ - flex \ - git \ - netcat \ - python3-distutils \ - python3-minimal \ - python3-serial \ - python3.7 \ - pkg-config \ - procps \ - u-boot-tools \ - unzip - -apt install -t buster-backports -y --no-remove \ - meson - -# Cross-build test deps -for arch in $CROSS_ARCHITECTURES; do - apt-get install -y --no-remove \ - crossbuild-essential-${arch} \ - libdrm-dev:${arch} \ - libegl1-mesa-dev:${arch} \ - libelf-dev:${arch} \ - libexpat1-dev:${arch} \ - libffi-dev:${arch} \ - libgbm-dev:${arch} \ - libgles2-mesa-dev:${arch} \ - libpng-dev:${arch} \ - libstdc++6:${arch} \ - libtinfo-dev:${arch} \ - libegl1-mesa-dev:${arch} \ - libvulkan-dev:${arch} - - mkdir /var/cache/apt/archives/${arch} -done - . .gitlab-ci/container/container_pre_build.sh ############### Create rootfs for arch in $CROSS_ARCHITECTURES; do - . .gitlab-ci/create-cross-file.sh $arch - DEBIAN_ARCH=$arch . .gitlab-ci/container/lava_arm.sh done diff --git a/.gitlab-ci/container/arm_test_base.sh b/.gitlab-ci/container/arm_test_base.sh new file mode 100644 index 00000000000..49b71ce27dc --- /dev/null +++ b/.gitlab-ci/container/arm_test_base.sh @@ -0,0 +1,95 @@ +#!/bin/bash + +set -e +set -o xtrace + +# etnaviv will eventually need armhf too. +CROSS_ARCHITECTURES="arm64" + +for arch in $CROSS_ARCHITECTURES; do + dpkg --add-architecture $arch +done + +############### Install packages for building +apt-get install -y ca-certificates +sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list +echo 'deb https://deb.debian.org/debian buster-backports main' >/etc/apt/sources.list.d/backports.list +apt-get update + +apt-get install -y --no-remove \ + abootimg \ + android-sdk-ext4-utils \ + bc \ + bison \ + bzip2 \ + ccache \ + cmake \ + cpio \ + g++ \ + debootstrap \ + fastboot \ + flex \ + git \ + netcat \ + python3-distutils \ + python3-minimal \ + python3-serial \ + python3.7 \ + pkg-config \ + procps \ + u-boot-tools \ + unzip + +apt install -t buster-backports -y --no-remove \ + meson + +# Cross-build test deps +for arch in $CROSS_ARCHITECTURES; do + apt-get install -y --no-remove \ + crossbuild-essential-${arch} \ + libdrm-dev:${arch} \ + libegl1-mesa-dev:${arch} \ + libelf-dev:${arch} \ + libexpat1-dev:${arch} \ + libffi-dev:${arch} \ + libgbm-dev:${arch} \ + libgles2-mesa-dev:${arch} \ + libpng-dev:${arch} \ + libstdc++6:${arch} \ + libtinfo-dev:${arch} \ + libegl1-mesa-dev:${arch} \ + libvulkan-dev:${arch} + + mkdir /var/cache/apt/archives/${arch} +done + +############### Create cross-files + +for arch in $CROSS_ARCHITECTURES; do + . .gitlab-ci/create-cross-file.sh $arch +done + +############### Uninstall the build software + +apt-get purge -y \ + bc \ + bison \ + bzip2 \ + ccache \ + cmake \ + g++ \ + flex \ + git \ + meson \ + pkg-config \ + python3-distutils \ + procps \ + u-boot-tools + +for arch in $CROSS_ARCHITECTURES; do + apt-get purge -y ".*:${arch}" +done + +apt-get autoremove -y --purge + +. .gitlab-ci/container/container_post_build.sh |