From 13f7ad093c572515feaf3ab71ed9d72a7f1ad11c Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Tue, 25 May 2021 09:47:36 +0200 Subject: Travis CI: Add initial scripts for running CI builds on Travis CI. --- .build.yml | 164 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ .travis.yml | 43 ++++++++++++++++ 2 files changed, 207 insertions(+) create mode 100644 .build.yml create mode 100644 .travis.yml diff --git a/.build.yml b/.build.yml new file mode 100644 index 0000000..69b687b --- /dev/null +++ b/.build.yml @@ -0,0 +1,164 @@ +######################################################### +# THE FOLLOWING LINES IS USED BY docker-build +########################################################## +requires: + archlinux: + # Useful URL: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=libayatana-appindicator + - clang + - gcc + - git + - make + - startup-notification + - which + - cmake + - cmake-extras + - mate-common + - gtk3 + - glib2 + - libdbusmenu-gtk3 + - dbus-glib + - gobject-introspection + + debian: + # Useful URL: https://salsa.debian.org/debian-ayatana-team/libayatana-appindicator + - autopoint + - clang + - clang-tools + - g++ + - cppcheck + - git + - cmake + - cmake-extras + - mate-common + - cli-common-dev + - gobject-introspection + - intltool + - gtk-doc-tools + - libxml2-utils + - libnunit-cil-dev + - dbus-test-runner + - xvfb + - valac + - mono-devel + - libglib2.0-dev + - libgtk-3-dev + - libgtk2.0-dev + - gtk-sharp2-gapi + - libgtk2.0-cil-dev + - libdbus-glib-1-dev + - libdbusmenu-glib-dev + - libdbusmenu-gtk3-dev + - libdbusmenu-gtk-dev + - libgirepository1.0-dev + + ubuntu: + - autopoint + - clang + - clang-tools + - g++ + - git + - cmake + - cmake-extras + - mate-common + - cli-common-dev + - gobject-introspection + - intltool + - gtk-doc-tools + - libxml2-utils + - libnunit-cil-dev + - dbus-test-runner + - xvfb + - valac + - mono-devel + - libglib2.0-dev + - libgtk-3-dev + - libgtk2.0-dev + - gtk-sharp2-gapi + - libgtk2.0-cil-dev + - libdbus-glib-1-dev + - libdbusmenu-glib-dev + - libdbusmenu-gtk3-dev + - libdbusmenu-gtk-dev + - libgirepository1.0-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"' + +before_scripts: + - cd ${START_DIR} + - if [ ! -d ayatana-ido-build ]; then + - git clone --depth 1 https://github.com/AyatanaIndicators/ayatana-ido.git ayatana-ido-build + - fi + - cd ayatana-ido-build + - cmake . -DCMAKE_INSTALL_PREFIX=/usr + - make + - make install + - + - cd ${START_DIR} + - if [ ! -d libayatana-indicator-build ]; then + - git clone --depth 1 https://github.com/AyatanaIndicators/libayatana-indicator.git libayatana-indicator-build + - fi + - cd libayatana-indicator-build + - cmake . -DCMAKE_INSTALL_PREFIX=/usr + - make + - make install + +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} env CTEST_OUTPUT_ON_FAILURE=1 make test + - fi + - fi + - fi diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..5382638 --- /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 -- cgit v1.2.3 From 32f5f11379c7f15641c409c9fac67a7529657585 Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Tue, 25 May 2021 11:59:19 +0200 Subject: {src,tests}/Makefile.am: Drop -Werror flag for now. Needs to be re-added later. --- src/Makefile.am | 2 +- tests/Makefile.am | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index c4c56fa..a1bbcf0 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -76,7 +76,7 @@ libayatana_appindicator_la_LDFLAGS = \ libayatana_appindicator_la_CFLAGS = \ $(LIBRARY_CFLAGS) \ $(COVERAGE_CFLAGS) \ - -Wall -Werror -Wno-error=deprecated-declarations \ + -Wall -Wno-error=deprecated-declarations \ -DG_LOG_DOMAIN=\"libayatana-appindicator\" libayatana_appindicator_la_LIBADD = \ diff --git a/tests/Makefile.am b/tests/Makefile.am index 7d2adc6..0e1ef96 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -32,7 +32,7 @@ test_libappindicator_SOURCES = \ test_libappindicator_CFLAGS = \ $(TESTDEPS_CFLAGS) $(LIBRARY_CFLAGS) \ -DSRCDIR="\"$(srcdir)\"" \ - -Wall -Werror -Wno-error=deprecated-declarations \ + -Wall -Wno-error=deprecated-declarations \ -I$(top_srcdir)/src test_libappindicator_LDADD = \ @@ -49,7 +49,7 @@ test_libappindicator_dbus_client_SOURCES = \ test_libappindicator_dbus_client_CFLAGS = \ $(TESTDEPS_CFLAGS) $(LIBRARY_CFLAGS) \ - -Wall -Werror -Wno-error=deprecated-declarations \ + -Wall -Wno-error=deprecated-declarations \ -I$(top_srcdir)/src test_libappindicator_dbus_client_LDADD = \ @@ -66,7 +66,7 @@ test_libappindicator_dbus_server_SOURCES = \ test_libappindicator_dbus_server_CFLAGS = \ $(TESTDEPS_CFLAGS) $(LIBRARY_CFLAGS) \ - -Wall -Werror -Wno-error=deprecated-declarations \ + -Wall -Wno-error=deprecated-declarations \ -I$(top_srcdir)/src test_libappindicator_dbus_server_LDADD = \ @@ -83,7 +83,7 @@ test_libappindicator_status_client_SOURCES = \ test_libappindicator_status_client_CFLAGS = \ $(TESTDEPS_CFLAGS) $(LIBRARY_CFLAGS) \ - -Wall -Werror -Wno-error=deprecated-declarations \ + -Wall -Wno-error=deprecated-declarations \ -I$(top_srcdir)/src test_libappindicator_status_client_LDADD = \ @@ -100,7 +100,7 @@ test_libappindicator_status_server_SOURCES = \ test_libappindicator_status_server_CFLAGS = \ $(TESTDEPS_CFLAGS) $(LIBRARY_CFLAGS) \ - -Wall -Werror -Wno-error=deprecated-declarations \ + -Wall -Wno-error=deprecated-declarations \ -I$(top_srcdir)/src test_libappindicator_status_server_LDADD = \ @@ -116,7 +116,7 @@ test_libappindicator_fallback_watcher_SOURCES = \ test_libappindicator_fallback_watcher_CFLAGS = \ $(TESTDEPS_CFLAGS) $(LIBRARY_CFLAGS) \ - -Wall -Werror -Wno-error=deprecated-declarations \ + -Wall -Wno-error=deprecated-declarations \ -I$(top_srcdir)/src test_libappindicator_fallback_watcher_LDADD = \ @@ -128,7 +128,7 @@ test_libappindicator_fallback_item_SOURCES = \ test_libappindicator_fallback_item_CFLAGS = \ $(TESTDEPS_CFLAGS) $(LIBRARY_CFLAGS) \ - -Wall -Werror -Wno-error=deprecated-declarations \ + -Wall -Wno-error=deprecated-declarations \ -I$(top_srcdir)/src test_libappindicator_fallback_item_LDADD = \ @@ -198,7 +198,7 @@ test_simple_app_SOURCES = \ test_simple_app_CFLAGS = \ $(TESTDEPS_CFLAGS) $(LIBRARY_CFLAGS) \ - -Wall -Werror -Wno-error=deprecated-declarations \ + -Wall -Wno-error=deprecated-declarations \ -I$(top_srcdir)/src test_simple_app_LDADD = \ -- cgit v1.2.3 From 3400cf9dcaa9b0313eb196ac8e7bd6c2d38eed56 Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Tue, 25 May 2021 14:44:11 +0200 Subject: configure.ac: Default to GTK+-3.0 build (will come with CMake switch, anyway). --- configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 7c617fe..77ac763 100644 --- a/configure.ac +++ b/configure.ac @@ -52,9 +52,9 @@ DBUS_GLIB_REQUIRED_VERSION=0.82 AC_ARG_WITH([gtk], [AS_HELP_STRING([--with-gtk], - [Which version of gtk to use @<:@default=2@:>@])], + [Which version of gtk to use @<:@default=3@:>@])], [], - [with_gtk=2]) + [with_gtk=3]) AS_IF([test "x$with_gtk" = x3], [PKG_CHECK_MODULES(LIBRARY, gtk+-3.0 >= $GTK3_REQUIRED_VERSION glib-2.0 >= $GLIB_REQUIRED_VERSION -- cgit v1.2.3