summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaiki Ueno <ueno@gnu.org>2021-03-26 17:36:19 +0000
committerDaiki Ueno <ueno@gnu.org>2021-03-26 17:36:19 +0000
commit23294af736984655d03b5c58b504a96fe58cdd33 (patch)
treea9c18a5da08e55821cf17aacbdd272d734612095
parenta9c867468b86719afc9fb62479dc5c48244f5926 (diff)
parenteeaf4d646f5aff3933b133948a6335a0e9e81494 (diff)
downloadgnome-keyring-23294af736984655d03b5c58b504a96fe58cdd33.tar.gz
Merge branch 'wip/dueno/ci-fixes' into 'master'
Fix CI runs See merge request GNOME/gnome-keyring!36
-rw-r--r--.gitlab-ci.yml95
1 files changed, 52 insertions, 43 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 0b5b52ab..f8136d23 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,70 +3,76 @@ stages:
- deploy
variables:
- DEPENDENCIES: dbus-x11 gcc gnome-common gtk-doc make openssh python redhat-rpm-config
+ DEPENDENCIES: dbus-x11 gcc gnome-common gtk-doc make openssh python redhat-rpm-config lcov libasan libubsan
-fedora:Werror:
- image: fedora:latest
+.build:
stage: build
+ image: fedora:latest
before_script:
- dnf install -y 'dnf-command(builddep)'
- dnf builddep -y gnome-keyring
- dnf install -y $DEPENDENCIES
- dbus-uuidgen --ensure
+ - useradd user
+
+fedora:Werror:
+ extends: .build
script:
- - ./autogen.sh --disable-dependency-tracking --enable-gtk-doc --enable-strict CFLAGS="-Wno-error=deprecated-declarations"
- - make -j$(nproc) V=1
- - eval `dbus-launch --sh-syntax`
- - make -j$(nproc) V=1 distcheck
+ - NOCONFIGURE=1 ./autogen.sh
+ - mkdir _build
+ - chown user _build
+ - cd _build
+ - runuser -u user -- ../configure --disable-dependency-tracking --enable-gtk-doc --enable-strict CFLAGS="-Wno-error=deprecated-declarations"
+ - runuser -u user -- make -j$(nproc) V=1
+ - eval `runuser -u user -- dbus-launch --sh-syntax`
+ - runuser -u user -- make -j$(nproc) V=1 distcheck
fedora:asan:
- image: fedora:latest
- stage: build
- before_script:
- - dnf install -y 'dnf-command(builddep)'
- - dnf builddep -y gnome-keyring
- - dnf install -y $DEPENDENCIES libasan
- - dbus-uuidgen --ensure
+ extends: .build
+ tags:
+ - asan # LSAN needs CAP_SYS_PTRACE
script:
- - ./autogen.sh --disable-dependency-tracking CFLAGS='-fsanitize=address -g -fno-common -U_FORTIFY_SOURCE' CXXFLAGS='-fsanitize=address -g -fno-common -U_FORTIFY_SOURCE' LDFLAGS='-fsanitize=address -g -fno-common -U_FORTIFY_SOURCE' LIBS='-lasan -ldl -lpthread'
- - make -j$(nproc) V=1
- - eval `dbus-launch --sh-syntax`
- - LSAN_OPTIONS=exitcode=0 make -j$(nproc) V=1 DISABLE_HARD_ERRORS=1 XFAIL_TESTS="\$(JS_TESTS) \$(PY_TESTS)" check
+ - NOCONFIGURE=1 ./autogen.sh
+ - mkdir _build
+ - chown user _build
+ - cd _build
+ - runuser -u user -- ../configure --disable-dependency-tracking CFLAGS='-fsanitize=address -g -fno-common -U_FORTIFY_SOURCE' CXXFLAGS='-fsanitize=address -g -fno-common -U_FORTIFY_SOURCE' LDFLAGS='-fsanitize=address -g -fno-common -U_FORTIFY_SOURCE' LIBS='-lasan -ldl -lpthread'
+ - runuser -u user -- make -j$(nproc) V=1
+ - eval `runuser -u user -- dbus-launch --sh-syntax`
+ - LSAN_OPTIONS=exitcode=0 runuser -u user -- make -j$(nproc) V=1 DISABLE_HARD_ERRORS=1 XFAIL_TESTS="\$(JS_TESTS) \$(PY_TESTS)" check
artifacts:
paths:
- - test-suite.log
+ - _build/config.log
+ - _build/test-suite.log
fedora:ubsan:
- image: fedora:latest
- stage: build
- before_script:
- - dnf install -y 'dnf-command(builddep)'
- - dnf builddep -y gnome-keyring
- - dnf install -y $DEPENDENCIES libubsan
- - dbus-uuidgen --ensure
+ extends: .build
script:
- - ./autogen.sh --disable-dependency-tracking CFLAGS='-fsanitize=undefined -g -fno-common -U_FORTIFY_SOURCE' CXXFLAGS='-fsanitize=undefined -g -fno-common -U_FORTIFY_SOURCE' LDFLAGS='-fsanitize=undefined -g -fno-common -U_FORTIFY_SOURCE' LIBS='-lubsan -ldl -lpthread'
- - make -j$(nproc) V=1
- - eval `dbus-launch --sh-syntax`
- - make -j$(nproc) V=1 check
+ - NOCONFIGURE=1 ./autogen.sh
+ - mkdir _build
+ - chown user _build
+ - cd _build
+ - runuser -u user -- ../configure --disable-dependency-tracking CFLAGS='-fsanitize=undefined -g -fno-common -U_FORTIFY_SOURCE' CXXFLAGS='-fsanitize=undefined -g -fno-common -U_FORTIFY_SOURCE' LDFLAGS='-fsanitize=undefined -g -fno-common -U_FORTIFY_SOURCE' LIBS='-lubsan -ldl -lpthread'
+ - runuser -u user -- make -j$(nproc) V=1
+ - eval `runuser -u user -- dbus-launch --sh-syntax`
+ - runuser -u user -- make -j$(nproc) V=1 check
artifacts:
paths:
- - test-suite.log
+ - _build/config.log
+ - _build/test-suite.log
fedora:coverage:
- image: fedora:latest
- stage: build
- before_script:
- - dnf install -y 'dnf-command(builddep)'
- - dnf builddep -y gnome-keyring
- - dnf install -y $DEPENDENCIES lcov
- - dbus-uuidgen --ensure
+ extends: .build
script:
- - ./autogen.sh --disable-dependency-tracking --enable-coverage
- - make -j$(nproc) V=1
- - eval `dbus-launch --sh-syntax`
- - make -j$(nproc) V=1 check
- - make coverage
+ - NOCONFIGURE=1 ./autogen.sh
+ - mkdir _build
+ - chown user _build
+ - cd _build
+ - runuser -u user -- ../configure --disable-dependency-tracking --enable-coverage
+ - runuser -u user -- make -j$(nproc) V=1
+ - eval `runuser -u user -- dbus-launch --sh-syntax`
+ - runuser -u user -- make -j$(nproc) V=1 check
+ - runuser -u user -- make coverage
coverage: '/^\s+lines.+:\s+([\d.]+\%)\s+/'
artifacts:
name: "gnome-keyring-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}"
@@ -75,6 +81,9 @@ fedora:coverage:
pages:
stage: deploy
+ only:
+ - master
+ needs: ['fedora:coverage']
script:
- mkdir -p public
- mv build/coverage public/coverage