[Intel-gfx] [PATCH i-g-t v3 1/1] gitlab-ci: add build and tests for MIPS

Ser, Simon simon.ser at intel.com
Thu Jun 27 07:02:03 UTC 2019


On Tue, 2019-06-25 at 14:08 +0100, Guillaume Tucker wrote:
> 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.

LGTM!

Reviewed-by: Simon Ser <simon.ser at intel.com>

And pushed:

To gitlab.freedesktop.org:drm/igt-gpu-tools.git
   15ad66453441..439a9f5d615f  master -> master

> 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 Intel-gfx mailing list