Message ID | f60f7f9d238ea721d3dcfcc4983b8a67ebe2cf95.1560434374.git.guillaume.tucker@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [i-g-t,v2] gitlab-ci: add build for MIPS | expand |
On Thu, Jun 13, 2019 at 03:01:06PM +0100, Guillaume Tucker wrote: > Add Docker image and Gitlab CI steps to run builds for the MIPS > architecture using Debian Stretch with backports. > > Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com> Same comment on libatomic1 as in the other thread applies here.
On Thu, Jun 13, 2019 at 03:01:06PM +0100, Guillaume Tucker wrote: > Add Docker image and Gitlab CI steps to run builds for the MIPS > architecture using Debian Stretch with backports. > > Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com> > --- > .gitlab-ci.yml | 28 ++++++++++++++++++++++++++++ > Dockerfile.debian-mips | 39 +++++++++++++++++++++++++++++++++++++++ > meson-cross-mips.txt | 12 ++++++++++++ > 3 files changed, 79 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..e390f8f472d5 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 > @@ -221,6 +232,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 Any particular reason for not having ninja-test step for MIPS? Other than that (and Petri's concern, since I don't speak Debian), looks good. - Arek
On 14/06/2019 11:33, Arkadiusz Hiler wrote: > On Thu, Jun 13, 2019 at 03:01:06PM +0100, Guillaume Tucker wrote: >> Add Docker image and Gitlab CI steps to run builds for the MIPS >> architecture using Debian Stretch with backports. >> >> Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com> >> --- >> .gitlab-ci.yml | 28 ++++++++++++++++++++++++++++ >> Dockerfile.debian-mips | 39 +++++++++++++++++++++++++++++++++++++++ >> meson-cross-mips.txt | 12 ++++++++++++ >> 3 files changed, 79 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..e390f8f472d5 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 >> @@ -221,6 +232,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 > > Any particular reason for not having ninja-test step for MIPS? Sorry I overlooked that bit, I'm adding it in a v3. That made me realise that the libatomic1:mips package was required for run-time linking on multi-arch file systems. > Other than that (and Petri's concern, since I don't speak Debian), > looks good. Thanks, I also replied on the other thread about adding libatomic1 for sub-architectures. Guillaume
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 771143a9ea95..e390f8f472d5 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 @@ -221,6 +232,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..ebe08db644ea --- /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 \ + libatomic1 \ + 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 \ + 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 for the MIPS architecture using Debian Stretch with backports. Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com> --- .gitlab-ci.yml | 28 ++++++++++++++++++++++++++++ Dockerfile.debian-mips | 39 +++++++++++++++++++++++++++++++++++++++ meson-cross-mips.txt | 12 ++++++++++++ 3 files changed, 79 insertions(+) create mode 100644 Dockerfile.debian-mips create mode 100644 meson-cross-mips.txt