From 79ca2bd319970991ec537d855fe228fcaf5a3301 Mon Sep 17 00:00:00 2001 From: Daiki Ueno Date: Fri, 1 Jun 2018 12:42:48 +0200 Subject: [PATCH] build: Enable gitlab-ci --- .gitlab-ci.yml | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..94b3792 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,76 @@ +stages: + - build + - deploy + +variables: + DEPENDENCIES: dbus-x11 gcc gjs make python3-dbus python3-gobject redhat-rpm-config + +fedora:Werror: + image: fedora:rawhide + stage: build + before_script: + - dnf install -y 'dnf-command(builddep)' + - dnf builddep -y libsecret + - dnf install -y $DEPENDENCIES + - dbus-uuidgen --ensure + script: + - ./autogen.sh --disable-dependency-tracking --enable-strict + - 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 libsecret + - 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` + - make -j$(nproc) V=1 DISABLE_HARD_ERRORS=1 XFAIL_TESTS="\$(JS_TESTS) \$(PY_TESTS)" + +fedora:ubsan: + image: fedora:rawhide + stage: build + before_script: + - dnf install -y 'dnf-command(builddep)' + - dnf builddep -y libsecret + - 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 + +fedora:coverage: + image: fedora:rawhide + stage: build + before_script: + - dnf install -y 'dnf-command(builddep)' + - dnf builddep -y libsecret + - 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: "libsecret-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}" + paths: + - build/coverage/ + +pages: + stage: deploy + script: + - mv build/coverage/ public/ + artifacts: + paths: + - public