From patchwork Tue Jun 18 12:42:21 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Guillaume Tucker X-Patchwork-Id: 11001555 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id B84E61398 for ; Tue, 18 Jun 2019 12:42:37 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A940527F93 for ; Tue, 18 Jun 2019 12:42:37 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9DAAF2871A; Tue, 18 Jun 2019 12:42:37 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,UNPARSEABLE_RELAY autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 3D8E8287FF for ; Tue, 18 Jun 2019 12:42:37 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id D15206E15E; Tue, 18 Jun 2019 12:42:35 +0000 (UTC) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e3e3]) by gabe.freedesktop.org (Postfix) with ESMTPS id BADD96E15E; Tue, 18 Jun 2019 12:42:34 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: gtucker) with ESMTPSA id 74088285C06 From: Guillaume Tucker To: Arkadiusz Hiler , Petri Latvala , "Ser, Simon" Date: Tue, 18 Jun 2019 13:42:21 +0100 Message-Id: <20190618124221.62715-1-guillaume.tucker@collabora.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH i-g-t v3 1/1] gitlab-ci: add build and tests for MIPS X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: igt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" X-Virus-Scanned: ClamAV using ClamSMTP 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 Reviewed-by: Simon Ser --- 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 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'