aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2021-04-26 15:22:58 +0200
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2021-05-05 15:47:16 +0200
commit3045d2b1ed2c9e521d93e23175be1ba17f5b7fe9 (patch)
tree40e8840339847cbb7c076548c3128958f54b1ecd
parentd0c90849ca8f1f50e92faedf3358c2ca1bd5aa73 (diff)
downloadayatana-indicator-datetime-3045d2b1ed2c9e521d93e23175be1ba17f5b7fe9.tar.gz
ayatana-indicator-datetime-3045d2b1ed2c9e521d93e23175be1ba17f5b7fe9.tar.bz2
ayatana-indicator-datetime-3045d2b1ed2c9e521d93e23175be1ba17f5b7fe9.zip
Travis-CI: Initial draft for CI builds.
-rw-r--r--.build.yml160
-rw-r--r--.travis.yml43
2 files changed, 203 insertions, 0 deletions
diff --git a/.build.yml b/.build.yml
new file mode 100644
index 0000000..9bbc9d1
--- /dev/null
+++ b/.build.yml
@@ -0,0 +1,160 @@
+#########################################################
+# THE FOLLOWING LINES IS USED BY docker-build
+##########################################################
+requires:
+ archlinux:
+ - clang
+ - gcc
+ - git
+ - make
+ - startup-notification
+ - which
+ - cmake
+ - cmake-extras
+ - mate-common
+ - dbus
+ - intltool
+ - glib2
+ - libnotify
+ - gstreamer
+ - libical
+ - evolution-data-server
+ - gsettings-desktop-schemas
+ - properties-cpp
+
+ debian:
+ # Useful URL: https://salsa.debian.org/debian-ayatana-team/ayatana-ido
+ - autopoint
+ - clang
+ - clang-tools
+ - g++
+ - cppcheck
+ - git
+ - cmake
+ - cmake-extras
+ - mate-common
+ - intltool
+ - libaccounts-glib-dev
+ - libglib2.0-dev
+ - libnotify-dev
+ - libgstreamer1.0-dev
+ - libecal2.0-dev
+ - libical-dev
+ - libedataserver1.2-dev
+ - liblomiri-url-dispatcher-dev
+ - libproperties-cpp-dev
+# for the test harness:
+ - libgtest-dev
+ - libdbustest1-dev
+ - dbus-test-runner
+ - python3-dbusmock
+# for 12h/24h locale unit tests:
+ - locales
+# for running live EDS tests:
+ - evolution-data-server
+ - gvfs-daemons
+ - systemd
+ - lcov
+ - gcovr
+
+ ubuntu:
+ - autopoint
+ - clang
+ - clang-tools
+ - g++
+ - git
+ - cmake
+ - cmake-extras
+ - mate-common
+ - intltool
+ - libaccounts-glib-dev
+ - libglib2.0-dev
+ - libnotify-dev
+ - libgstreamer1.0-dev
+ - libecal2.0-dev
+ - libical-dev
+ - libedataserver1.2-dev
+ - liblomiri-url-dispatcher-dev
+ - libproperties-cpp-dev
+
+ ubuntu:focal:
+ - autopoint
+ - clang
+ - clang-tools
+ - g++
+ - git
+ - cmake
+ - cmake-extras
+ - mate-common
+ - intltool
+ - libaccounts-glib-dev
+ - libglib2.0-dev
+ - libnotify-dev
+ - libgstreamer1.0-dev
+ - libecal2.0-dev
+ - libical-dev
+ - libedataserver1.2-dev
+ - libproperties-cpp-dev
+
+variables:
+ - 'CHECKERS="
+ -enable-checker deadcode.DeadStores
+ -enable-checker alpha.deadcode.UnreachableCode
+ -enable-checker alpha.core.CastSize
+ -enable-checker alpha.core.CastToStruct
+ -enable-checker alpha.core.IdenticalExpr
+ -enable-checker alpha.core.SizeofPtr
+ -enable-checker alpha.security.ArrayBoundV2
+ -enable-checker alpha.security.MallocOverflow
+ -enable-checker alpha.security.ReturnPtrRange
+ -enable-checker alpha.unix.SimpleStream
+ -enable-checker alpha.unix.cstring.BufferOverlap
+ -enable-checker alpha.unix.cstring.NotNullTerminated
+ -enable-checker alpha.unix.cstring.OutOfBounds
+ -enable-checker alpha.core.FixedAddr
+ -enable-checker security.insecureAPI.strcpy"'
+
+build_scripts:
+ - if [ ${DISTRO_NAME} == "debian" ];then
+ - export CFLAGS+=" -Wsign-compare -Wunused-parameter"
+ - cppcheck --enable=warning,style,performance,portability,information,missingInclude .
+ - fi
+ -
+ - if [ -e ./autogen.sh ]; then
+ - NOCONFIGURE=1 ./autogen.sh
+ - scan-build $CHECKERS ./configure --prefix=/usr --enable-gtk-doc --enable-compile-warnings=maximum
+ - elif [ -e ./CMakeLists.txt ]; then
+ - if [ ${DISTRO_NAME} == "debian" ];then
+ - scan-build $CHECKERS cmake . -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_VERBOSE_MAKEFILE=ON -DENABLE_TESTS=ON
+ - else
+ - scan-build $CHECKERS cmake . -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_VERBOSE_MAKEFILE=ON
+ - fi
+ - else
+ - exit 1
+ - fi
+ -
+ - if [ $CPU_COUNT -gt 1 ]; then
+ - if [ ${DISTRO_NAME} == "debian" ];then
+ - scan-build $CHECKERS --keep-cc --use-cc=clang --use-c++=clang++ -o html-report make -j $CPU_COUNT
+ - make clean
+ - fi
+ - scan-build $CHECKERS --keep-cc -o html-report make -j $CPU_COUNT
+ - else
+ - if [ ${DISTRO_NAME} == "debian" ];then
+ - scan-build $CHECKERS --keep-cc --use-cc=clang --use-c++=clang++ -o html-report make
+ - make clean
+ - fi
+ - scan-build $CHECKERS --keep-cc -o html-report make
+ - fi
+
+after_scripts:
+ - if [ ${BUILD_TYPE} == "scripts" ];then
+ - XVFB_RUN="$(which xvfb-run || true)"
+ - if [ ${DISTRO_NAME} == "debian" ];then
+ - if [ -e ./autogen.sh ]; then
+ - ${XVFB_RUN} make check
+ - elif [ -e ./CMakeLists.txt ]; then
+ - ${XVFB_RUN} make test
+ - fi
+ - fi
+ - fi
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..85ee12c
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,43 @@
+# vim: set ts=2 sts=2 sw=2 expandtab :
+dist: bionic
+language: shell
+os: linux
+
+arch:
+ - amd64
+ - ppc64le
+
+services:
+ - docker
+
+addons:
+ apt:
+ packages:
+ - python3-pip
+ - python3-setuptools
+
+before_install:
+ # let's use the MATE project's docker build script...
+ - curl -Ls -o docker-build https://github.com/AyatanaIndicators/ayatana-dev-scripts/raw/master/travis/docker-build
+ - chmod +x docker-build
+
+install:
+ - pip3 install wheel
+ - pip3 install PyGithub
+ - ./docker-build --name ${DISTRO} --config .build.yml --install
+
+script:
+ - ./docker-build --name ${DISTRO} --verbose --config .build.yml --build scripts
+
+env:
+# temp disable of archlinux builds, see https://gitlab.archlinux.org/archlinux/archlinux-docker/-/issues/56
+# - DISTRO="archlinux:latest"
+ - DISTRO="debian:testing"
+# - DISTRO="debian:stable"
+# - DISTRO="ubuntu:rolling"
+ - DISTRO="ubuntu:focal"
+
+jobs:
+ exclude:
+ - env: DISTRO="archlinux:latest"
+ arch: ppc64le