[igt-dev] [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 13:14:53 UTC 2019


On Thu, 2019-06-27 at 11:02 +0100, Guillaume Tucker wrote:
> On 27/06/2019 08:02, Ser, Simon wrote:
> > 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
> 
> Thanks!
> 
> Err, however it looks like you pushed the v2 which had only
> builds rather than this v3 which does builds and tests:
> 
>   439a9f5d615f gitlab-ci: add build for MIPS
> 
> I've made another patch with the difference between v2 and v3 and
> pushed it to my branch:
> 
>   https://gitlab.freedesktop.org/gtucker/igt-gpu-tools/commit/9693e28871f27efb7340ad29d54de4be7b5461a9
> 
> I'll wait for the Gitlab CI pipeline to complete and then I guess
> I should send that to the mailing list.

Bleh, I'm sorry about this! It seems like patchwork got confused.

I'll gladly review and merge a fix, feel free to Cc me :)

> 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