ci: Set some sensible defaults

* Allow for all jobs to be cancelled if a newer commit is pushed
* Automatically retry jobs if they fail due to some infrastructure issue

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1503>
This commit is contained in:
Jordan Petridis 2020-11-20 14:25:53 +01:00 committed by Jonas Ådahl
parent 250bab0115
commit b64020f84b

View File

@ -11,6 +11,18 @@ stages:
- test - test
- deploy - deploy
default:
# Cancel jobs if newer commits are pushed to the branch
interruptible: true
# Auto-retry jobs in case of infra failures
retry:
max: 1
when:
- 'runner_system_failure'
- 'stuck_or_timeout_failure'
- 'scheduler_failure'
- 'api_failure'
variables: variables:
BUNDLE: "extensions-git.flatpak" BUNDLE: "extensions-git.flatpak"
JS_LOG: "js-report.txt" JS_LOG: "js-report.txt"
@ -93,7 +105,6 @@ build-fedora-container:
- .fdo.container-build@fedora@x86_64 - .fdo.container-build@fedora@x86_64
- .gnome-shell.fedora:33 - .gnome-shell.fedora:33
stage: prep stage: prep
<<: *only_default
js_check: js_check:
extends: extends:
@ -103,7 +114,6 @@ js_check:
script: script:
- find js -name '*.js' -exec js78 -c '{}' ';' 2>&1 | tee $JS_LOG - find js -name '*.js' -exec js78 -c '{}' ';' 2>&1 | tee $JS_LOG
- (! grep -q . $JS_LOG) - (! grep -q . $JS_LOG)
<<: *only_default
artifacts: artifacts:
paths: paths:
- ${JS_LOG} - ${JS_LOG}
@ -117,7 +127,6 @@ eslint:
script: script:
- export NODE_PATH=$(npm root -g) - export NODE_PATH=$(npm root -g)
- ./.gitlab-ci/run-eslint --output-file ${LINT_LOG} --format junit - ./.gitlab-ci/run-eslint --output-file ${LINT_LOG} --format junit
<<: *only_default
artifacts: artifacts:
reports: reports:
junit: ${LINT_LOG} junit: ${LINT_LOG}
@ -147,7 +156,6 @@ potfile_check:
stage: review stage: review
script: script:
- ./.gitlab-ci/check-potfiles.sh - ./.gitlab-ci/check-potfiles.sh
<<: *only_default
no_template_check: no_template_check:
extends: extends:
@ -156,7 +164,6 @@ no_template_check:
stage: review stage: review
script: script:
- ./.gitlab-ci/check-template-strings.sh - ./.gitlab-ci/check-template-strings.sh
<<: *only_default
build: build:
stage: build stage: build
@ -169,7 +176,6 @@ build:
- meson . build -Dbuiltype=debugoptimized -Dman=false --werror - meson . build -Dbuiltype=debugoptimized -Dman=false --werror
- ninja -C build - ninja -C build
- ninja -C build install - ninja -C build install
<<: *only_default
artifacts: artifacts:
expire_in: 1 day expire_in: 1 day
paths: paths:
@ -186,7 +192,6 @@ test:
- ninja -C mutter/build install - ninja -C mutter/build install
script: script:
- dbus-run-session -- xvfb-run meson test -C build --no-rebuild - dbus-run-session -- xvfb-run meson test -C build --no-rebuild
<<: *only_default
artifacts: artifacts:
expire_in: 1 day expire_in: 1 day
paths: paths:
@ -204,7 +209,6 @@ flatpak:
FLATPAK_MODULE: "gnome-extensions-app" FLATPAK_MODULE: "gnome-extensions-app"
APP_ID: "org.gnome.Extensions" APP_ID: "org.gnome.Extensions"
extends: .flatpak extends: .flatpak
<<: *only_default
nightly: nightly:
extends: '.publish_nightly' extends: '.publish_nightly'