ci: Explicitly specify job dependencies

We can speed up CI a bit by allowing build jobs to run in parallel
with review jobs, and don't have test jobs wait for non-default
build configuration builds.

See https://gitlab.gnome.org/help/ci/yaml/README.md#needs for details.

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1398
This commit is contained in:
Florian Müllner 2020-08-04 17:40:24 +02:00
parent 5ea0034943
commit 769997b0bc

View File

@ -17,6 +17,7 @@ check-commit-log:
build-mutter: build-mutter:
stage: build stage: build
needs: []
script: script:
- meson . build -Dbuildtype=debugoptimized -Db_coverage=true -Degl_device=true -Dwayland_eglstream=true --werror --prefix /usr - meson . build -Dbuildtype=debugoptimized -Db_coverage=true -Degl_device=true -Dwayland_eglstream=true --werror --prefix /usr
- ninja -C build - ninja -C build
@ -31,6 +32,7 @@ build-mutter:
build-without-opengl-and-glx: build-without-opengl-and-glx:
stage: build stage: build
needs: []
script: script:
- meson . build -Dbuildtype=debugoptimized -Dopengl=false -Dglx=false -Degl_device=true -Dwayland_eglstream=true --werror --prefix /usr - meson . build -Dbuildtype=debugoptimized -Dopengl=false -Dglx=false -Degl_device=true -Dwayland_eglstream=true --werror --prefix /usr
- ninja -C build - ninja -C build
@ -44,6 +46,7 @@ build-without-opengl-and-glx:
build-without-native-backend-and-wayland: build-without-native-backend-and-wayland:
stage: build stage: build
needs: []
script: script:
- meson . build -Dbuildtype=debugoptimized -Dnative_backend=false -Dudev=false -Dwayland=false -Dcore_tests=false --werror --prefix /usr - meson . build -Dbuildtype=debugoptimized -Dnative_backend=false -Dudev=false -Dwayland=false -Dcore_tests=false --werror --prefix /usr
- ninja -C build - ninja -C build
@ -59,6 +62,7 @@ test-mutter:
stage: test stage: test
dependencies: dependencies:
- build-mutter - build-mutter
needs: ["build-mutter"]
variables: variables:
XDG_RUNTIME_DIR: "$CI_PROJECT_DIR/runtime-dir" XDG_RUNTIME_DIR: "$CI_PROJECT_DIR/runtime-dir"
GSETTINGS_SCHEMA_DIR: "$CI_PROJECT_DIR/build/data" GSETTINGS_SCHEMA_DIR: "$CI_PROJECT_DIR/build/data"
@ -84,6 +88,7 @@ test-mutter-coverage:
stage: coverage stage: coverage
dependencies: dependencies:
- test-mutter - test-mutter
needs: ["test-mutter"]
script: script:
- ninja -C build coverage - ninja -C build coverage
- cat build/meson-logs/coverage.txt - cat build/meson-logs/coverage.txt
@ -100,6 +105,7 @@ can-build-gnome-shell:
stage: test stage: test
dependencies: dependencies:
- build-mutter - build-mutter
needs: ["build-mutter"]
before_script: before_script:
- meson install --no-rebuild -C build - meson install --no-rebuild -C build
script: script: