[igt-dev] [PATCH i-g-t] gitlab-ci: add build for MIPS

Arkadiusz Hiler arkadiusz.hiler at intel.com
Thu Jun 6 13:16:50 UTC 2019


On Wed, Jun 05, 2019 at 09:18:09PM +0100, Guillaume Tucker wrote:
> Add Docker image and Gitlab CI steps to run builds for the MIPS
> architecture using Debian Buster.
> 
> Signed-off-by: Guillaume Tucker <guillaume.tucker at collabora.com>
> ---
>  .gitlab-ci.yml         | 28 ++++++++++++++++++++++++++++
>  Dockerfile.debian-mips | 38 ++++++++++++++++++++++++++++++++++++++
>  meson-cross-mips.txt   | 12 ++++++++++++
>  3 files changed, 78 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..e390f8f472d5 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
> @@ -221,6 +232,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..2612b7b148e3
> --- /dev/null
> +++ b/Dockerfile.debian-mips
> @@ -0,0 +1,38 @@
> +FROM debian:buster

Any particular reason you went here for buster instead of
stretch-backports like with other images? I am not very fluent in
Debian.

Other than that looks good to land after the atomic compatibility fixes.

> +
> +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 \
> +			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 -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'
> -- 
> 2.20.1
> 


More information about the igt-dev mailing list