summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
authorDaiki Ueno <dueno@src.gnome.org>2018-06-11 17:58:27 +0200
committerDaiki Ueno <dueno@src.gnome.org>2018-06-12 16:18:38 +0200
commit660b125cd8f4e44128eafbbe9fda42bdc08d9fd3 (patch)
tree68a2f15deb254b1eae393285698bd5af9871aa4d /.gitlab-ci.yml
parent3614aaecbd922cace83e53678ec58469597e8d58 (diff)
downloadgnome-keyring-660b125cd8f4e44128eafbbe9fda42bdc08d9fd3.tar.gz
build: Enable gitlab-ci
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