From 2d20edc142211707b040956e482884e2b34f4f8c Mon Sep 17 00:00:00 2001 From: Wu Xiaotian Date: Wed, 27 Feb 2019 16:14:47 +0800 Subject: [ci] Enable clang-analyzer --- .travis.yml | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 89 insertions(+), 3 deletions(-) (limited to '.travis.yml') diff --git a/.travis.yml b/.travis.yml index 034ddf94..80152e3f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,8 +5,12 @@ language: bash services: - docker +branches: + except: + - gh-pages + before_install: - - curl -Ls -o docker-build https://github.com/mate-desktop/mate-dev-scripts/raw/master/travis/docker-build + - curl -Ls -o docker-build https://github.com/mate-desktop/mate-dev-scripts/raw/travis/travis/docker-build - chmod +x docker-build install: @@ -16,20 +20,38 @@ install: - ./docker-build --name ${DISTRO} --config .travis.yml --install script: - - ./docker-build --name ${DISTRO} --verbose --config .travis.yml --build autotools + - ./docker-build --name ${DISTRO} --verbose --config .travis.yml --build scripts + +deploy: + provider: pages + github-token: $GITHUB_TOKEN + #keep-history: true + skip_cleanup: true + committer-from-gh: true + target-branch: gh-pages + local-dir: html-report + on: + all_branches: true + condition: ${DISTRO} =~ ^fedora.*$ + +after_success: + - 'if [[ "$TRAVIS_SECURE_ENV_VARS" == "true" && "$TRAVIS_PULL_REQUEST" != "false" && ${DISTRO} =~ ^fedora.*$ ]]; then + COMMENT="[Notification]: Clang Analyzer results of $TRAVIS_COMMIT at https://mate-desktop.github.io/${TRAVIS_REPO_SLUG#*/}/"; + curl -H "Authorization: token $GITHUB_TOKEN" -X POST -d "{\"body\": \"$COMMENT\"}" "https://api.github.com/repos/${TRAVIS_REPO_SLUG}/issues/${TRAVIS_PULL_REQUEST}/comments" >/dev/null; + fi' env: - DISTRO="archlinux/base" - DISTRO="debian:sid" - DISTRO="fedora:29" - DISTRO="ubuntu:18.10" - ########################################################## # THE FOLLOWING LINES IS USED BY docker-build ########################################################## requires: archlinux: # Useful URL: https://git.archlinux.org/svntogit/community.git/tree/mate-panel + - clang - dbus-glib - gcc - git @@ -50,6 +72,8 @@ requires: debian: # Useful URL: https://github.com/mate-desktop/debian-packages # Useful URL: https://salsa.debian.org/debian-mate-team/mate-panel + - clang + - clang-tools - gir1.2-freedesktop - git - gobject-introspection @@ -80,6 +104,8 @@ requires: fedora: # Useful URL: https://src.fedoraproject.org/cgit/rpms/mate-panel.git + - clang-analyzer + - clang - dbus-glib-devel - desktop-file-utils - gcc @@ -99,6 +125,8 @@ requires: - yelp-tools ubuntu: + - clang + - clang-tools - gir1.2-freedesktop - git - gobject-introspection @@ -129,6 +157,30 @@ requires: variables: - CFLAGS="-Wall -Werror=format-security" + - 'CHECKERS=" + -enable-checker deadcode.DeadStores + -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} == "fedora" ];then + - curl -Ls -o fedora.sh https://github.com/mate-desktop/mate-dev-scripts/raw/travis/travis/fedora.sh + - bash ./fedora.sh + - fi + - ./autogen.sh + - scan-build $CHECKERS ./configure + - scan-build $CHECKERS --keep-cc -o html-report make before_scripts: - cd ${START_DIR} @@ -148,4 +200,38 @@ before_scripts: - make install after_scripts: + - if [ ${DISTRO_NAME} == "fedora" ];then + - cat > index.html < + - + - + - + - + - $REPO_NAME Code Analizer + - + -

+ - ${OWNER_NAME}/$REPO_NAME + -

+ - GitHub + - Build Status + -
+ - 'Commit: $TRAVIS_COMMIT
' + - 'Compare: $TRAVIS_COMMIT_RANGE
' + - 'Branch: $TRAVIS_BRANCH
' + - 'Time: `date --rfc-3339=seconds`
' + - 'Messages:
' + -
+  -     $TRAVIS_COMMIT_MESSAGE
+  -     
+ -
+ - " >> index.html + - echo "" >> index.html + - echo "" >> index.html + - mv index.html html-report + - fi - make distcheck -- cgit v1.2.1