Message ID | 20190618124221.62715-1-guillaume.tucker@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [i-g-t,v3,1/1] gitlab-ci: add build and tests for MIPS | expand |
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@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' >
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@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@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' > >
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@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@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' >>>
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@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@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' > > > >
On Thu, Jun 27, 2019 at 04:14:53PM +0300, Ser, Simon wrote: > 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@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@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 :) The title of the first patch has changed, so patchwork treats it as a separate series instead of a revision to existing one. It's safer to take the patchwork links (both to series and the mbox) from the CI results instead of trying to browse for them yourself.
On Thu, 2019-06-27 at 16:19 +0300, Arkadiusz Hiler wrote: > On Thu, Jun 27, 2019 at 04:14:53PM +0300, Ser, Simon wrote: > > 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@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@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 :) > > The title of the first patch has changed, so patchwork treats it as a > separate series instead of a revision to existing one. > > It's safer to take the patchwork links (both to series and the mbox) > from the CI results instead of trying to browse for them yourself. Yeah, this makes sense. Thanks for the info!
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'
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@collabora.com> --- Notes: v2: use stretch-backports and require libatomic1 v3: add mips ci tests and require Debian libatomic1 for mips .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