summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
authorJonas Ådahl <jadahl@gmail.com>2020-11-19 14:48:28 +0100
committerJonas Ådahl <jadahl@gmail.com>2020-11-23 17:53:36 +0100
commit5ddf416bc9a26159b51cc6966ebc3dd30a9c45e8 (patch)
tree5f618396eb171890c294832ae1da7f221a21cd64 /.gitlab-ci.yml
parent3cf11f77b36947ee0bfef40181baa5287475511d (diff)
downloadmutter-5ddf416bc9a26159b51cc6966ebc3dd30a9c45e8.tar.gz
ci: Build and test also on aarch64
This adds 64 bit ARM support to parts of the CI pipeline, more specifically, we now: - Build a 64 bit ARM container image alongside the 64 bit x86 one. - Build test mutter on 64 bit ARM - Run tests on 64 bit ARM - Check coverage on 64 bit ARM Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1577>
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml118
1 files changed, 88 insertions, 30 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 6472b1b8f..41b236056 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -9,10 +9,10 @@ stages:
- test
- coverage
-.mutter.fedora:33:
+.mutter.fedora:33@common:
variables:
FDO_DISTRIBUTION_VERSION: 33
- FDO_DISTRIBUTION_TAG: '2020-11-20.1'
+ BASE_TAG: '2020-11-23.0'
FDO_UPSTREAM_REPO: GNOME/mutter
FDO_DISTRIBUTION_EXEC: |
dnf install -y 'dnf-command(builddep)' &&
@@ -52,6 +52,18 @@ default:
- 'scheduler_failure'
- 'api_failure'
+.mutter.fedora:33@x86_64:
+ extends: .mutter.fedora:33@common
+ variables:
+ FDO_DISTRIBUTION_TAG: "x86_64-${BASE_TAG}"
+
+.mutter.fedora:33@aarch64:
+ extends: .mutter.fedora:33@common
+ variables:
+ FDO_DISTRIBUTION_TAG: "aarch64-${BASE_TAG}"
+ tags:
+ - aarch64
+
workflow:
rules:
- if: '$CI_MERGE_REQUEST_IID'
@@ -101,22 +113,28 @@ check-merge-request:
junit: check-merge-request-report.xml
<<: *pipline-guard
-build-fedora-container:
+build-fedora-container@x86_64:
extends:
- .fdo.container-build@fedora@x86_64
- - .mutter.fedora:33
+ - .mutter.fedora:33@x86_64
+ stage: prepare
+ needs:
+ - check-commit-log
+ - check-merge-request
+
+build-fedora-container@aarch64:
+ extends:
+ - .fdo.container-build@fedora@aarch64
+ - .mutter.fedora:33@aarch64
stage: prepare
needs:
- check-commit-log
- check-merge-request
-build-mutter:
+.build-mutter:
extends:
- .fdo.distribution-image@fedora
- - .mutter.fedora:33
stage: build
- needs:
- - build-fedora-container
script:
- meson . build -Dbuildtype=debugoptimized -Db_coverage=true -Degl_device=true -Dwayland_eglstream=true --werror --prefix /usr
- ninja -C build
@@ -126,13 +144,27 @@ build-mutter:
paths:
- build
-build-without-opengl-and-glx:
+build-mutter@x86_64:
+ extends:
+ - .build-mutter
+ - .mutter.fedora:33@x86_64
+ needs:
+ - build-fedora-container@x86_64
+
+build-mutter@aarch64:
+ extends:
+ - .build-mutter
+ - .mutter.fedora:33@aarch64
+ needs:
+ - build-fedora-container@aarch64
+
+build-without-opengl-and-glx@x86_64:
extends:
- .fdo.distribution-image@fedora
- - .mutter.fedora:33
+ - .mutter.fedora:33@x86_64
stage: build
needs:
- - build-fedora-container
+ - build-fedora-container@x86_64
script:
- meson . build -Dbuildtype=debugoptimized -Dopengl=false -Dglx=false -Degl_device=true -Dwayland_eglstream=true --werror --prefix /usr
- ninja -C build
@@ -141,13 +173,13 @@ build-without-opengl-and-glx:
paths:
- build/meson-logs
-build-without-native-backend-and-wayland:
+build-without-native-backend-and-wayland@x86_64:
extends:
- .fdo.distribution-image@fedora
- - .mutter.fedora:33
+ - .mutter.fedora:33@x86_64
stage: build
needs:
- - build-fedora-container
+ - build-fedora-container@x86_64
script:
- meson . build -Dbuildtype=debugoptimized -Dnative_backend=false -Dudev=false -Dwayland=false -Dcore_tests=false --werror --prefix /usr
- ninja -C build
@@ -156,15 +188,10 @@ build-without-native-backend-and-wayland:
paths:
- build/meson-logs
-test-mutter:
+.test-mutter:
extends:
- .fdo.distribution-image@fedora
- - .mutter.fedora:33
stage: test
- dependencies:
- - build-mutter
- needs:
- - build-mutter
variables:
XDG_RUNTIME_DIR: "$CI_PROJECT_DIR/runtime-dir"
GSETTINGS_SCHEMA_DIR: "$CI_PROJECT_DIR/build/data"
@@ -182,15 +209,28 @@ test-mutter:
paths:
- build
-test-mutter-coverage:
+test-mutter@x86_64:
extends:
- - .fdo.distribution-image@fedora
- - .mutter.fedora:33
- stage: coverage
+ - .test-mutter
+ - .mutter.fedora:33@x86_64
+ needs:
+ - build-mutter@x86_64
dependencies:
- - test-mutter
+ - build-mutter@x86_64
+
+test-mutter@aarch64:
+ extends:
+ - .test-mutter
+ - .mutter.fedora:33@aarch64
needs:
- - test-mutter
+ - build-mutter@aarch64
+ dependencies:
+ - build-mutter@aarch64
+
+.test-mutter-coverage:
+ extends:
+ - .fdo.distribution-image@fedora
+ stage: coverage
script:
- ninja -C build coverage
- cat build/meson-logs/coverage.txt
@@ -199,15 +239,33 @@ test-mutter-coverage:
- build/meson-logs/coveragereport
coverage: '/^TOTAL.*\s+(\d+\%)$/'
-can-build-gnome-shell:
+test-mutter-coverage@x86_64:
+ extends:
+ - .test-mutter-coverage
+ - .mutter.fedora:33@x86_64
+ needs:
+ - test-mutter@x86_64
+ dependencies:
+ - test-mutter@x86_64
+
+test-mutter-coverage@aarch64:
+ extends:
+ - .test-mutter-coverage
+ - .mutter.fedora:33@aarch64
+ needs:
+ - test-mutter@aarch64
+ dependencies:
+ - test-mutter@aarch64
+
+can-build-gnome-shell@x86_64:
extends:
- .fdo.distribution-image@fedora
- - .mutter.fedora:33
+ - .mutter.fedora:33@x86_64
stage: test
dependencies:
- - build-mutter
+ - build-mutter@x86_64
needs:
- - build-mutter
+ - build-mutter@x86_64
before_script:
- meson install --no-rebuild -C build
script: