[igt-dev] [PATCH i-g-t v3 1/1] gitlab-ci: add build and tests for MIPS
Guillaume Tucker
guillaume.tucker at collabora.com
Tue Jun 25 13:08:57 UTC 2019
On 18/06/2019 13:42, Guillaume Tucker wrote:
> Add Docker image and Gitlab CI steps to run builds and tests for the
> MIPS architecture using Debian Stretch with backports.
>
> Signed-off-by: Guillaume Tucker <guillaume.tucker at collabora.com>
> ---
>
> Notes:
> v2: use stretch-backports and require libatomic1
> v3: add mips ci tests and require Debian libatomic1 for mips
The series to use portable atomics functions was merged today, so
I think this one should now be good to go as well. It applies
cleanly on top of the current master branch and the Gitlab CI
pipeline passed:
https://gitlab.freedesktop.org/gtucker/igt-gpu-tools/pipelines/44704
Please let me know if you want me to resubmit it to get another
Patchwork CI run or if anything else needs to be done.
Guillaume
> .gitlab-ci.yml | 42 ++++++++++++++++++++++++++++++++++++++++++
> Dockerfile.debian-mips | 39 +++++++++++++++++++++++++++++++++++++++
> meson-cross-mips.txt | 12 ++++++++++++
> 3 files changed, 93 insertions(+)
> create mode 100644 Dockerfile.debian-mips
> create mode 100644 meson-cross-mips.txt
>
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index 771143a9ea95..bd9619e7e28b 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -90,6 +90,17 @@ build:tests-debian-meson-arm64:
> paths:
> - build
>
> +build:tests-debian-meson-mips:
> + image: $CI_REGISTRY/$CI_PROJECT_PATH/igt-debian-mips:latest
> + stage: build
> + script:
> + - export PKG_CONFIG_PATH=/usr/lib/mips-linux-gnu/pkgconfig/
> + - meson --cross-file meson-cross-mips.txt build
> + - ninja -C build
> + artifacts:
> + paths:
> + - build
> +
> build:tests-debian-autotools:
> image: $CI_REGISTRY/$CI_PROJECT_PATH/igt-debian:latest
> stage: build
> @@ -145,6 +156,20 @@ test:ninja-test-armhf:
> - build
> when: on_failure
>
> +test:ninja-test-mips:
> + image: $CI_REGISTRY/$CI_PROJECT_PATH/igt-debian-mips:latest
> + dependencies:
> + - build:tests-debian-meson-mips
> + stage: test
> + script:
> + - export PKG_CONFIG_PATH=/usr/lib/mips-linux-gnu/pkgconfig/
> + - env > build/envdump.txt
> + - ninja -C build test
> + artifacts:
> + paths:
> + - build
> + when: on_failure
> +
> test:test-list-diff:
> dependencies:
> - build:tests-debian-autotools
> @@ -221,6 +246,23 @@ containers:igt-debian-arm64:
> - docker build -t $CI_REGISTRY/$CI_PROJECT_PATH/igt-debian-arm64 -f Dockerfile.debian-arm64 .
> - docker push $CI_REGISTRY/$CI_PROJECT_PATH/igt-debian-arm64
>
> +containers:igt-debian-mips:
> + stage: containers
> + image: docker:stable
> + only:
> + changes:
> + - Dockerfile.debian-mips
> + - .gitlab-ci.yml
> + services:
> + - docker:dind
> + variables:
> + DOCKER_HOST: tcp://docker:2375
> + DOCKER_DRIVER: overlay2
> + script:
> + - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
> + - docker build -t $CI_REGISTRY/$CI_PROJECT_PATH/igt-debian-mips -f Dockerfile.debian-mips .
> + - docker push $CI_REGISTRY/$CI_PROJECT_PATH/igt-debian-mips
> +
> containers:igt-fedora:
> stage: containers
> image: docker:stable
> diff --git a/Dockerfile.debian-mips b/Dockerfile.debian-mips
> new file mode 100644
> index 000000000000..ee29f5f4ccda
> --- /dev/null
> +++ b/Dockerfile.debian-mips
> @@ -0,0 +1,39 @@
> +FROM debian:stretch-backports
> +
> +RUN apt-get update
> +RUN apt-get install -y \
> + flex \
> + bison \
> + pkg-config \
> + x11proto-dri2-dev \
> + python-docutils \
> + valgrind \
> + peg
> +
> +RUN dpkg --add-architecture mips
> +RUN apt-get update
> +RUN apt-get install -y \
> + gcc-mips-linux-gnu \
> + libatomic1:mips \
> + libpciaccess-dev:mips \
> + libkmod-dev:mips \
> + libprocps-dev:mips \
> + libunwind-dev:mips \
> + libdw-dev:mips \
> + zlib1g-dev:mips \
> + liblzma-dev:mips \
> + libcairo-dev:mips \
> + libpixman-1-dev:mips \
> + libudev-dev:mips \
> + libgsl-dev:mips \
> + libasound2-dev:mips \
> + libjson-c-dev:mips \
> + libcurl4-openssl-dev:mips \
> + libxrandr-dev:mips \
> + libxv-dev:mips
> +
> +RUN apt-get install -t stretch-backports -y \
> + meson \
> + libdrm-dev:mips \
> + qemu-user \
> + qemu-user-static
> diff --git a/meson-cross-mips.txt b/meson-cross-mips.txt
> new file mode 100644
> index 000000000000..6350d677e0bc
> --- /dev/null
> +++ b/meson-cross-mips.txt
> @@ -0,0 +1,12 @@
> +[binaries]
> +c = '/usr/bin/mips-linux-gnu-gcc'
> +ar = '/usr/bin/mips-linux-gnu-gcc-ar'
> +strip = '/usr/bin/mips-linux-gnu-strip'
> +pkgconfig = 'pkg-config'
> +exe_wrapper = 'qemu-mips'
> +
> +[host_machine]
> +system = 'linux'
> +cpu_family = 'mips'
> +cpu = 'mips'
> +endian = 'big'
>
More information about the igt-dev
mailing list