[igt-dev] [PATCH i-g-t] Add GitLab's CI/CD configuration
Saarinen, Jani
jani.saarinen at intel.com
Mon Oct 22 09:47:06 UTC 2018
> -----Original Message-----
> From: igt-dev [mailto:igt-dev-bounces at lists.freedesktop.org] On Behalf Of
> Arkadiusz Hiler
> Sent: maanantai 22. lokakuuta 2018 11.42
> To: igt-dev at lists.freedesktop.org
> Cc: Latvala, Petri <petri.latvala at intel.com>; Daniel Vetter <daniel at ffwll.ch>
> Subject: [igt-dev] [PATCH i-g-t] Add GitLab's CI/CD configuration
>
> The CI/CD pieline is configured the following way:
^^ pipeline?
> 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 Feodra.
^^ Fedora
> 3. Run `ninja tests` on Fedora.
> 4. Build and publish docs as an artifact, for GitLab Pages.
>
> Cc: Petri Latvala <petri.latvala at intel.com>
> Cc: Daniel Vetter <daniel at ffwll.ch>
> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler at intel.com>
> ---
> .gitlab-ci.yml | 69 +++++++++++++++++++++++++++++++++++++++++++++++
> Dockerfile.debian | 28 +++++++++++++++++++ Dockerfile.fedora | 24
> +++++++++++++++++
> 3 files changed, 121 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..0f3422a0
> --- /dev/null
> +++ b/.gitlab-ci.yml
> @@ -0,0 +1,69 @@
> +image: registry.freedesktop.org/drm/igt-gpu-tools/igt-fedora:latest
> +
> +stages:
> + - containers
> + - build
> + - test
> + - deploy
> +
> +build:tests-fedora:
> + stage: build
> + script:
> + - meson 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 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 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 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..a9f93957
> --- /dev/null
> +++ b/Dockerfile.debian
> @@ -0,0 +1,28 @@
> +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
> +
> +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..58efa817
> --- /dev/null
> +++ b/Dockerfile.fedora
> @@ -0,0 +1,24 @@
> +FROM fedora:28
> +
> +RUN dnf install -y gcc \
> + flex \
> + meson \
> + bison \
> + json-c \
> + gtk-doc \
> + xdotool \
> + gsl-devel \
> + kmod-devel \
> + glib2-devel \
> + cairo-devel \
> + procps-devel \
> + pixman-devel \
> + libdrm-devel \
> + openssl-devel \
> + libudev-devel \
> + xmlrpc-c-devel \
> + elfutils-devel \
> + libunwind-devel \
> + python-docutils \
> + libpciaccess-devel \
> + alsa-lib-devel
> --
> 2.17.2
>
> _______________________________________________
> igt-dev mailing list
> igt-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev
More information about the igt-dev
mailing list