[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