From: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
To: igt-dev@lists.freedesktop.org
Cc: Petri Latvala <petri.latvala@intel.com>, Daniel Vetter <daniel@ffwll.ch>
Subject: [igt-dev] [PATCH i-g-t v2] Add GitLab's CI/CD configuration
Date: Mon, 22 Oct 2018 15:09:04 +0300 [thread overview]
Message-ID: <20181022120904.25566-1-arkadiusz.hiler@intel.com> (raw)
In-Reply-To: <20181022084203.25118-1-arkadiusz.hiler@intel.com>
The CI/CD pipeline is configured the following way:
1. Build docker images and add them to repo's registry (manual step for
now, automation needs GitLab to be updated).
2. Build igt with meson on Debian and Fedora.
3. Run `ninja tests` on Fedora.
4. Build and publish docs as an artifact, for GitLab Pages.
v2: Typos and fully-featured meson build.
Cc: Petri Latvala <petri.latvala@intel.com>
Cc: Daniel Vetter <daniel@ffwll.ch>
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
.gitlab-ci.yml | 78 +++++++++++++++++++++++++++++++++++++++++++++++
Dockerfile.debian | 34 +++++++++++++++++++++
Dockerfile.fedora | 36 ++++++++++++++++++++++
3 files changed, 148 insertions(+)
create mode 100644 .gitlab-ci.yml
create mode 100644 Dockerfile.debian
create mode 100644 Dockerfile.fedora
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 00000000..27dcb769
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,78 @@
+image: registry.freedesktop.org/drm/igt-gpu-tools/igt-fedora:latest
+variables:
+ MESON_OPTIONS: >
+ -Dwith_libdrm=intel,nouveau,amdgpu
+ -Dbuild_overlay=true
+ -Dbuild_audio=true
+ -Dbuild_chamelium=true
+ -Dwith_valgrind=true
+ -Dbuild_man=true
+ -Dbuild_tests=true
+ -Dbuild_runner=true
+
+stages:
+ - containers
+ - build
+ - test
+ - deploy
+
+build:tests-fedora:
+ stage: build
+ script:
+ # Feodora does not have peg packaged
+ - meson $MESON_OPTIONS build
+ - ninja -C build
+ artifacts:
+ paths:
+ - build
+
+build:tests-debian:
+ image: registry.freedesktop.org/drm/igt-gpu-tools/igt-debian:latest
+ stage: build
+ script:
+ - meson $MESON_OPTIONS build
+ - ninja -C build
+
+ninja:test:
+ stage: test
+ script:
+ - ninja -C build test
+
+pages:
+ stage: deploy
+ script:
+ - ninja -C build igt-gpu-tools-doc
+ - cp -r build/docs/reference/igt-gpu-tools/html public
+ artifacts:
+ paths:
+ - public
+ only:
+ - master
+
+containers:igt-debian:
+ stage: containers
+ when: manual
+ image: docker:stable
+ services:
+ - docker:dind
+ variables:
+ DOCKER_HOST: tcp://docker:2375
+ DOCKER_DRIVER: overlay2
+ script:
+ - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.freedesktop.org
+ - docker build -t registry.freedesktop.org/drm/igt-gpu-tools/igt-debian -f Dockerfile.debian .
+ - docker push registry.freedesktop.org/drm/igt-gpu-tools/igt-debian
+
+containers:igt-fedora:
+ stage: containers
+ when: manual
+ image: docker:stable
+ services:
+ - docker:dind
+ variables:
+ DOCKER_HOST: tcp://docker:2375
+ DOCKER_DRIVER: overlay2
+ script:
+ - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.freedesktop.org
+ - docker build -t registry.freedesktop.org/drm/igt-gpu-tools/igt-fedora -f Dockerfile.fedora .
+ - docker push registry.freedesktop.org/drm/igt-gpu-tools/igt-fedora
diff --git a/Dockerfile.debian b/Dockerfile.debian
new file mode 100644
index 00000000..9a966086
--- /dev/null
+++ b/Dockerfile.debian
@@ -0,0 +1,34 @@
+FROM debian:stretch-backports
+
+RUN apt-get update
+RUN apt-get install -y \
+ gcc \
+ flex \
+ bison \
+ pkg-config \
+ libpciaccess-dev \
+ libkmod-dev \
+ libprocps-dev \
+ libunwind-dev \
+ libdw-dev \
+ zlib1g-dev \
+ liblzma-dev \
+ libssl-dev \
+ libcairo-dev \
+ libudev-dev \
+ libgsl-dev \
+ libasound2-dev \
+ libxmlrpc-core-c3-dev \
+ libjson-c-dev \
+ libcurl4-openssl-dev \
+ libxrandr-dev \
+ libxv-dev \
+ x11proto-dri2-dev \
+ python-docutils \
+ valgrind \
+ peg
+
+RUN apt-get install -t stretch-backports -y \
+ meson \
+ libdrm-dev \
+ libdrm-intel1
diff --git a/Dockerfile.fedora b/Dockerfile.fedora
new file mode 100644
index 00000000..341a0ed7
--- /dev/null
+++ b/Dockerfile.fedora
@@ -0,0 +1,36 @@
+FROM fedora:28
+
+RUN dnf install -y gcc \
+ flex \
+ meson \
+ bison \
+ gtk-doc \
+ xdotool \
+ gsl-devel \
+ kmod-devel \
+ glib2-devel \
+ cairo-devel \
+ procps-devel \
+ pixman-devel \
+ json-c-devel \
+ libdrm-devel \
+ openssl-devel \
+ libudev-devel \
+ xmlrpc-c-devel \
+ elfutils-devel \
+ libunwind-devel \
+ python-docutils \
+ libpciaccess-devel \
+ alsa-lib-devel \
+ valgrind-devel \
+ libXrandr-devel \
+ libXv-devel
+
+# We need peg to build overlay
+RUN dnf install -y make
+RUN mkdir /tmp/peg
+WORKDIR /tmp/peg
+RUN curl -O http://piumarta.com/software/peg/peg-0.1.18.tar.gz
+RUN tar xf peg-0.1.18.tar.gz
+RUN cd peg-0.1.18 && make PREFIX=/usr install
+RUN rm -fr /tmp/peg
--
2.17.2
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
next prev parent reply other threads:[~2018-10-22 12:09 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-22 8:42 [igt-dev] [PATCH i-g-t] Add GitLab's CI/CD configuration Arkadiusz Hiler
2018-10-22 9:03 ` Petri Latvala
2018-10-22 9:22 ` Daniel Vetter
2018-10-22 9:58 ` Arkadiusz Hiler
2018-10-22 14:16 ` Daniel Vetter
2018-10-22 14:31 ` Arkadiusz Hiler
2018-10-22 9:47 ` Saarinen, Jani
2018-10-22 12:09 ` Arkadiusz Hiler [this message]
2018-10-22 14:14 ` [igt-dev] [PATCH i-g-t v2] " Arkadiusz Hiler
2018-10-22 14:18 ` Daniel Vetter
2018-10-22 14:24 ` Arkadiusz Hiler
2018-10-22 14:25 ` Daniel Vetter
2018-10-22 14:38 ` Arkadiusz Hiler
2018-10-22 14:59 ` Daniel Vetter
2018-10-23 7:32 ` Arkadiusz Hiler
2018-10-23 13:30 ` Daniel Vetter
2018-10-24 16:27 ` Arkadiusz Hiler
2018-10-22 20:43 ` [igt-dev] ✓ Fi.CI.BAT: success for Add GitLab's CI/CD configuration (rev2) Patchwork
2018-10-22 22:33 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181022120904.25566-1-arkadiusz.hiler@intel.com \
--to=arkadiusz.hiler@intel.com \
--cc=daniel@ffwll.ch \
--cc=igt-dev@lists.freedesktop.org \
--cc=petri.latvala@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox