[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