ci: Use ci-templates

This changes from manual container image building using podman locally
to building the container images as part of the CI pipeline.

It uses the CI templates from
https://gitlab.freedesktop.org/freedesktop/ci-templates.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1525>
This commit is contained in:
Jonas Ådahl 2020-10-24 19:58:52 +02:00 committed by Marge Bot
parent 06e604cfef
commit fddd18cdd2
2 changed files with 54 additions and 29 deletions

View File

@ -1,18 +1,53 @@
image: registry.gitlab.gnome.org/gnome/mutter/master:v4 include:
- remote: 'https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/5bc02d91b97b835099c28c54409c3438e52b4d21/templates/fedora.yml'
stages: stages:
- prepare
- review - review
- build - build
- test - test
- coverage - coverage
.mutter.fedora:33:
variables:
FDO_DISTRIBUTION_VERSION: 33
FDO_DISTRIBUTION_TAG: '2020-11-16.0'
FDO_UPSTREAM_REPO: GNOME/mutter
FDO_DISTRIBUTION_EXEC: |
dnf install -y 'dnf-command(builddep)' &&
dnf builddep -y mutter --setopt=install_weak_deps=False &&
# For running unit tests
dnf install -y xorg-x11-server-Xvfb mesa-dri-drivers dbus dbus-x11 \
xorg-x11-server-Xvfb accountsservice-libs \
gnome-control-center gcovr libnma python3-gobject \
python3-dbusmock &&
# GNOME Shell
dnf builddep -y gnome-shell --setopt=install_weak_deps=False &&
dnf remove -y gnome-bluetooth-libs-devel &&
dnf remove -y --noautoremove mutter mutter-devel &&
dnf clean all
.only_default: &only_default .only_default: &only_default
only: only:
- merge_requests - merge_requests
- /^.*$/ - /^.*$/
build-fedora-container:
extends:
- .fdo.container-build@fedora@x86_64
- .mutter.fedora:33
stage: prepare
<<: *only_default
check-commit-log: check-commit-log:
extends:
- .fdo.distribution-image@fedora
- .mutter.fedora:33
stage: review stage: review
needs: ["build-fedora-container"]
variables: variables:
GIT_DEPTH: "100" GIT_DEPTH: "100"
script: script:
@ -26,6 +61,9 @@ check-commit-log:
<<: *only_default <<: *only_default
build-mutter: build-mutter:
extends:
- .fdo.distribution-image@fedora
- .mutter.fedora:33
stage: build stage: build
needs: ["check-commit-log"] needs: ["check-commit-log"]
script: script:
@ -39,6 +77,9 @@ build-mutter:
<<: *only_default <<: *only_default
build-without-opengl-and-glx: build-without-opengl-and-glx:
extends:
- .fdo.distribution-image@fedora
- .mutter.fedora:33
stage: build stage: build
needs: ["check-commit-log"] needs: ["check-commit-log"]
script: script:
@ -51,6 +92,9 @@ build-without-opengl-and-glx:
<<: *only_default <<: *only_default
build-without-native-backend-and-wayland: build-without-native-backend-and-wayland:
extends:
- .fdo.distribution-image@fedora
- .mutter.fedora:33
stage: build stage: build
needs: ["check-commit-log"] needs: ["check-commit-log"]
script: script:
@ -63,6 +107,9 @@ build-without-native-backend-and-wayland:
<<: *only_default <<: *only_default
test-mutter: test-mutter:
extends:
- .fdo.distribution-image@fedora
- .mutter.fedora:33
stage: test stage: test
dependencies: dependencies:
- build-mutter - build-mutter
@ -86,6 +133,9 @@ test-mutter:
<<: *only_default <<: *only_default
test-mutter-coverage: test-mutter-coverage:
extends:
- .fdo.distribution-image@fedora
- .mutter.fedora:33
stage: coverage stage: coverage
dependencies: dependencies:
- test-mutter - test-mutter
@ -100,6 +150,9 @@ test-mutter-coverage:
<<: *only_default <<: *only_default
can-build-gnome-shell: can-build-gnome-shell:
extends:
- .fdo.distribution-image@fedora
- .mutter.fedora:33
stage: test stage: test
dependencies: dependencies:
- build-mutter - build-mutter

View File

@ -1,28 +0,0 @@
# Rebuild and push with
#
# cd .gitlab-ci/
# podman build --format docker --no-cache -t registry.gitlab.gnome.org/gnome/mutter/master:v4 .
# podman push registry.gitlab.gnome.org/gnome/mutter/master:v4
#
FROM fedora:32
RUN dnf -y update && dnf -y upgrade && \
dnf install -y 'dnf-command(builddep)' && \
dnf install -y 'dnf-command(copr)' && \
dnf copr enable -y jadahl/mutter-ci && \
dnf builddep -y mutter --setopt=install_weak_deps=False && \
# For running unit tests
dnf install -y xorg-x11-server-Xvfb mesa-dri-drivers dbus dbus-x11 \
'*/xvfb-run' gdm-lib accountsservice-libs gnome-control-center gcovr \
libnma python3-gobject python3-dbusmock \
--setopt=install_weak_deps=False && \
# GNOME Shell
dnf builddep -y gnome-shell --setopt=install_weak_deps=False && \
dnf remove -y gnome-bluetooth-libs-devel && \
dnf remove -y --noautoremove mutter mutter-devel && \
dnf clean all