summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml83
1 files changed, 83 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 00000000..c4c8ea6a
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,83 @@
+stages:
+ - build
+ - deploy
+
+variables:
+ DEPENDENCIES: dbus-x11 gcc gnome-common gtk-doc make openssh python redhat-rpm-config
+
+fedora:Werror:
+ image: fedora:rawhide
+ stage: build
+ before_script:
+ - dnf install -y 'dnf-command(builddep)'
+ - dnf builddep -y gnome-keyring
+ - dnf install -y $DEPENDENCIES
+ - dbus-uuidgen --ensure
+ 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
+
+fedora:asan:
+ image: fedora:rawhide
+ stage: build
+ before_script:
+ - dnf install -y 'dnf-command(builddep)'
+ - dnf builddep -y gnome-keyring
+ - dnf install -y $DEPENDENCIES libasan
+ - dbus-uuidgen --ensure
+ 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
+ artifacts:
+ paths:
+ - test-suite.log
+
+fedora:ubsan:
+ image: fedora:rawhide
+ stage: build
+ before_script:
+ - dnf install -y 'dnf-command(builddep)'
+ - dnf builddep -y gnome-keyring
+ - dnf install -y $DEPENDENCIES libubsan
+ - dbus-uuidgen --ensure
+ 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
+ artifacts:
+ paths:
+ - test-suite.log
+
+fedora:coverage:
+ image: fedora:rawhide
+ stage: build
+ before_script:
+ - dnf install -y 'dnf-command(builddep)'
+ - dnf builddep -y gnome-keyring
+ - dnf install -y $DEPENDENCIES lcov
+ - dbus-uuidgen --ensure
+ 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
+ coverage: '/^\s+lines.+:\s+([\d.]+\%)\s+/'
+ artifacts:
+ name: "gnome-keyring-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}"
+ paths:
+ - build/coverage/
+
+pages:
+ stage: deploy
+ script:
+ - mkdir -p public
+ - mv build/coverage public/coverage
+ artifacts:
+ paths:
+ - public