ci: Wait for review stage before continuing

If review fails, it'll fail very early in the pipeline, but we won't see
the test case failure until the whole pipeline succeeds, which might be
10 minutes later.

To avoid sitting there wondering why it failed, let the time consuming
jobs wait until the review stage, which tends to take less than 20
seconds, succeeds. This way the review test result will be presented
earlier.

This changes the pipeline to run the check-commit-log job also for
non-merge requests, with the difference being that it will pass
immediately if it's not a merge request.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1549>
This commit is contained in:
Jonas Ådahl 2020-11-04 20:48:54 +01:00
parent 0c9f7c7735
commit 815ed52ca1
2 changed files with 5 additions and 25 deletions

View File

@ -18,12 +18,10 @@ check-commit-log:
- commit-message-junit-report.xml - commit-message-junit-report.xml
reports: reports:
junit: commit-message-junit-report.xml junit: commit-message-junit-report.xml
only:
- merge_requests
build-mutter: build-mutter:
stage: build stage: build
needs: [] needs: ["check-commit-log"]
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
@ -32,13 +30,10 @@ build-mutter:
expire_in: 1 day expire_in: 1 day
paths: paths:
- build - build
only:
- merge_requests
- /^.*$/
build-without-opengl-and-glx: build-without-opengl-and-glx:
stage: build stage: build
needs: [] needs: ["check-commit-log"]
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
@ -46,13 +41,10 @@ build-without-opengl-and-glx:
artifacts: artifacts:
paths: paths:
- build/meson-logs - build/meson-logs
only:
- merge_requests
- /^.*$/
build-without-native-backend-and-wayland: build-without-native-backend-and-wayland:
stage: build stage: build
needs: [] needs: ["check-commit-log"]
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
@ -60,9 +52,6 @@ build-without-native-backend-and-wayland:
artifacts: artifacts:
paths: paths:
- build/meson-logs - build/meson-logs
only:
- merge_requests
- /^.*$/
test-mutter: test-mutter:
stage: test stage: test
@ -77,9 +66,6 @@ test-mutter:
NO_AT_BRIDGE: "1" NO_AT_BRIDGE: "1"
script: script:
- bash -x ./.gitlab-ci/run-tests.sh - bash -x ./.gitlab-ci/run-tests.sh
only:
- merge_requests
- /^.*$/
artifacts: artifacts:
expire_in: 1 day expire_in: 1 day
reports: reports:
@ -102,9 +88,6 @@ test-mutter-coverage:
- build/meson-logs/coveragereport - build/meson-logs/coveragereport
coverage: '/^TOTAL.*\s+(\d+\%)$/' coverage: '/^TOTAL.*\s+(\d+\%)$/'
when: always when: always
only:
- merge_requests
- /^.*$/
can-build-gnome-shell: can-build-gnome-shell:
stage: test stage: test
@ -117,6 +100,3 @@ can-build-gnome-shell:
- .gitlab-ci/checkout-gnome-shell.sh - .gitlab-ci/checkout-gnome-shell.sh
- meson gnome-shell gnome-shell/build --prefix /usr -Dman=false - meson gnome-shell gnome-shell/build --prefix /usr -Dman=false
- ninja -C gnome-shell/build install - ninja -C gnome-shell/build install
only:
- merge_requests
- /^.*$/

View File

@ -1,8 +1,8 @@
#!/usr/bin/env bash #!/usr/bin/env bash
if [ -z "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" ]; then if [ -z "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" ]; then
echo Cannot review non-merge request echo This is not a merge request, skipping
exit 1 exit 0
fi fi
git fetch $CI_MERGE_REQUEST_PROJECT_URL.git $CI_MERGE_REQUEST_TARGET_BRANCH_NAME git fetch $CI_MERGE_REQUEST_PROJECT_URL.git $CI_MERGE_REQUEST_TARGET_BRANCH_NAME