Merge branch 'ci-schedules' into 'master'

Use CI schedules and DAGs

See merge request GNOME/glib!1590
This commit is contained in:
Sebastian Dröge 2020-07-27 11:30:33 +00:00
commit 79aeba33c7

View File

@ -31,6 +31,14 @@ variables:
- bash .gitlab-ci/show-execution-environment.sh - bash .gitlab-ci/show-execution-environment.sh
- cp -r $HOME/subprojects/* subprojects/ - cp -r $HOME/subprojects/* subprojects/
# Some jobs take a long time and are unlikely to find failures (or will find
# failures which are not merge-blockers to fix), so theyre executed on a weekly
# schedule in order to save CI resources and speed up branch pipelines.
.build-only-schedules:
extends: .build
only:
- schedules
style-check-diff: style-check-diff:
extends: .only-default extends: .only-default
image: $DEBIAN_IMAGE image: $DEBIAN_IMAGE
@ -51,6 +59,7 @@ fedora-x86_64:
extends: .build extends: .build
image: $FEDORA_IMAGE image: $FEDORA_IMAGE
stage: build stage: build
needs: []
variables: variables:
CFLAGS: "-coverage -ftest-coverage -fprofile-arcs" CFLAGS: "-coverage -ftest-coverage -fprofile-arcs"
script: script:
@ -98,6 +107,7 @@ debian-stable-x86_64:
extends: .build extends: .build
image: $DEBIAN_IMAGE image: $DEBIAN_IMAGE
stage: build stage: build
needs: []
script: script:
- meson ${MESON_COMMON_OPTIONS} - meson ${MESON_COMMON_OPTIONS}
--werror --werror
@ -123,9 +133,10 @@ debian-stable-x86_64:
- "_build/${CI_JOB_NAME}-report.xml" - "_build/${CI_JOB_NAME}-report.xml"
installed-tests: installed-tests:
extends: .build extends: .build-only-schedules
image: $FEDORA_IMAGE image: $FEDORA_IMAGE
stage: build stage: build
needs: []
script: script:
# dtrace is disabled because it breaks the static-link.py test # dtrace is disabled because it breaks the static-link.py test
- meson ${MESON_COMMON_OPTIONS} - meson ${MESON_COMMON_OPTIONS}
@ -177,9 +188,10 @@ installed-tests:
- "_build/installed-tests-report/" - "_build/installed-tests-report/"
G_DISABLE_ASSERT: G_DISABLE_ASSERT:
extends: .build extends: .build-only-schedules
image: $FEDORA_IMAGE image: $FEDORA_IMAGE
stage: build stage: build
needs: []
script: script:
- meson ${MESON_COMMON_OPTIONS} - meson ${MESON_COMMON_OPTIONS}
--werror --werror
@ -203,9 +215,10 @@ G_DISABLE_ASSERT:
- "_build/${CI_JOB_NAME}-report.xml" - "_build/${CI_JOB_NAME}-report.xml"
valgrind: valgrind:
extends: .build extends: .build-only-schedules
image: $FEDORA_IMAGE image: $FEDORA_IMAGE
stage: analysis stage: analysis
needs: []
variables: variables:
MESON_TEST_TIMEOUT_MULTIPLIER: 10 MESON_TEST_TIMEOUT_MULTIPLIER: 10
script: script:
@ -238,6 +251,7 @@ valgrind:
.cross-template: &cross-template .cross-template: &cross-template
extends: .build extends: .build
stage: build stage: build
needs: []
artifacts: artifacts:
name: "glib-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}" name: "glib-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}"
when: always when: always
@ -275,6 +289,7 @@ msys2-mingw32:
stage: build stage: build
tags: tags:
- win32-ps - win32-ps
needs: []
variables: variables:
MSYSTEM: "MINGW32" MSYSTEM: "MINGW32"
CHERE_INVOKING: "yes" CHERE_INVOKING: "yes"
@ -297,6 +312,7 @@ vs2017-x64:
stage: build stage: build
tags: tags:
- win32-ps - win32-ps
needs: []
script: script:
- .gitlab-ci/test-msvc.bat - .gitlab-ci/test-msvc.bat
artifacts: artifacts:
@ -318,6 +334,7 @@ freebsd-11-x86_64:
# To compile GLib, you still have to install the following packages: # To compile GLib, you still have to install the following packages:
# desktop-file-utils gettext libiconv meson pkgconf python3 shared-mime-info # desktop-file-utils gettext libiconv meson pkgconf python3 shared-mime-info
- freebsd-11 - freebsd-11
needs: []
variables: variables:
# CPPFLAGS is required because libintl doesn't use pkg-config. # CPPFLAGS is required because libintl doesn't use pkg-config.
CPPFLAGS: -I/usr/local/include CPPFLAGS: -I/usr/local/include
@ -355,6 +372,7 @@ freebsd-12-x86_64:
- branches@GNOME/glib - branches@GNOME/glib
tags: tags:
- freebsd-12 - freebsd-12
needs: []
variables: variables:
CPPFLAGS: -I/usr/local/include CPPFLAGS: -I/usr/local/include
LDFLAGS: -L/usr/local/lib -Wl,--disable-new-dtags LDFLAGS: -L/usr/local/lib -Wl,--disable-new-dtags
@ -385,6 +403,7 @@ macos:
- branches@GNOME/glib - branches@GNOME/glib
tags: tags:
- macos - macos
needs: []
before_script: before_script:
- bash .gitlab-ci/show-execution-environment.sh - bash .gitlab-ci/show-execution-environment.sh
- pip3 install --user meson==0.49.2 - pip3 install --user meson==0.49.2
@ -418,6 +437,7 @@ coverage:
extends: .only-default extends: .only-default
image: $FEDORA_IMAGE image: $FEDORA_IMAGE
stage: coverage stage: coverage
needs: ['fedora-x86_64', 'msys2-mingw32']
artifacts: artifacts:
name: "glib-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}" name: "glib-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}"
paths: paths:
@ -429,9 +449,10 @@ coverage:
coverage: '/^\s+lines\.+:\s+([\d.]+\%)\s+/' coverage: '/^\s+lines\.+:\s+([\d.]+\%)\s+/'
scan-build: scan-build:
extends: .build extends: .build-only-schedules
image: $FEDORA_IMAGE image: $FEDORA_IMAGE
stage: analysis stage: analysis
needs: []
script: script:
- meson ${MESON_COMMON_OPTIONS} - meson ${MESON_COMMON_OPTIONS}
--werror --werror
@ -454,6 +475,7 @@ pages:
stage: deploy stage: deploy
only: only:
- master - master
needs: ['coverage', 'style-check-diff']
script: script:
- mv _coverage/ public/ - mv _coverage/ public/
artifacts: artifacts: