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

Guillaume Tucker guillaume.tucker at collabora.com
Thu Jun 27 10:02:25 UTC 2019


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.

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