diff options
author | Michel Dänzer <[email protected]> | 2019-10-08 19:46:11 +0200 |
---|---|---|
committer | Michel Dänzer <[email protected]> | 2019-10-22 10:26:29 +0000 |
commit | 163ec5d808189f54028860e23406e6be60423028 (patch) | |
tree | 532ff1edc5aec44e4e2335ba2a88811d481d2170 /.gitlab-ci | |
parent | c5aa2711a45d060960e002804a6e5a7d326e8b5e (diff) |
gitlab-ci: Use native aarch64 runner for ARM build jobs
This allows running the regression tests.
One downside is that we can't easily build the Vulkan overlay layer,
because only x86 binaries of the glslang validator are available. If
that's important, we could either use those binaries via qemu, or build
it from source.
v2:
* Add :amd64 suffix to existing debian-9/10 job names (Eric Engestrom)
Acked-by: Eric Engestrom <[email protected]> # v1
Diffstat (limited to '.gitlab-ci')
-rw-r--r-- | .gitlab-ci/debian-arm64-install.sh (renamed from .gitlab-ci/debian-test-install.sh) | 35 | ||||
-rw-r--r-- | .gitlab-ci/debian-install.sh | 6 |
2 files changed, 27 insertions, 14 deletions
diff --git a/.gitlab-ci/debian-test-install.sh b/.gitlab-ci/debian-arm64-install.sh index 85817d161f0..1dac7b99593 100644 --- a/.gitlab-ci/debian-test-install.sh +++ b/.gitlab-ci/debian-arm64-install.sh @@ -6,36 +6,49 @@ set -o xtrace ############### Install packages for building apt-get -y install ca-certificates sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list +dpkg --add-architecture armhf apt-get update apt-get -y install \ bc \ bison \ bzip2 \ + ccache \ cmake \ + crossbuild-essential-armhf \ curl \ flex \ g++ \ gettext \ git \ - libelf1 \ - libexpat1 \ + libdrm-dev \ + libdrm-dev:armhf \ + libelf-dev \ + libelf-dev:armhf \ + libexpat1-dev \ + libexpat1-dev:armhf \ libgbm-dev \ libgles2-mesa-dev \ libpng-dev \ libssl-dev \ + meson \ ninja-build \ pkg-config \ procps \ python \ - python3-pip \ - python3-setuptools \ - unzip \ + python3-mako \ wget \ zlib1g-dev -export LIBDRM_VERSION=libdrm-2.4.99 +############### Generate cross build file for Meson + +cross_file="/cross_file-armhf.txt" +/usr/share/meson/debcrossgen --arch armhf -o "$cross_file" +# Explicitly set ccache path for cross compilers +sed -i "s|/usr/bin/\([^-]*\)-linux-gnu\([^-]*\)-g|/usr/lib/ccache/\\1-linux-gnu\\2-g|g" "$cross_file" +# Don't need wrapper for armhf executables +sed -i -e '/\[properties\]/a\' -e "needs_exe_wrapper = False" "$cross_file" -pip3 install meson +export LIBDRM_VERSION=libdrm-2.4.99 ############### Build libdrm @@ -96,12 +109,10 @@ rm -rf /VK-GL-CTS ############### Uninstall the build software apt-get purge -y \ - bison \ cmake \ - flex \ - g++ \ - gcc \ git \ - ninja-build + libgbm-dev \ + libgles2-mesa-dev \ + wget apt-get autoremove -y --purge diff --git a/.gitlab-ci/debian-install.sh b/.gitlab-ci/debian-install.sh index 8a74b2877da..774b8e02128 100644 --- a/.gitlab-ci/debian-install.sh +++ b/.gitlab-ci/debian-install.sh @@ -5,7 +5,7 @@ set -o xtrace export DEBIAN_FRONTEND=noninteractive -CROSS_ARCHITECTURES="armhf arm64 i386" +CROSS_ARCHITECTURES="i386" for arch in $CROSS_ARCHITECTURES; do dpkg --add-architecture $arch done @@ -216,9 +216,11 @@ for arch in $CROSS_ARCHITECTURES; do /usr/share/meson/debcrossgen --arch "$arch" -o "$cross_file" # Explicitly set ccache path for cross compilers sed -i "s|/usr/bin/\([^-]*\)-linux-gnu\([^-]*\)-g|/usr/lib/ccache/\\1-linux-gnu\\2-g|g" "$cross_file" - # Work around a bug in debcrossgen that should be fixed in the next release if [ "$arch" = "i386" ]; then + # Work around a bug in debcrossgen that should be fixed in the next release sed -i "s|cpu_family = 'i686'|cpu_family = 'x86'|g" "$cross_file" + # Don't need wrapper for i386 executables + sed -i -e '/\[properties\]/a\' -e "needs_exe_wrapper = False" "$cross_file" fi done |