170 lines
4.8 KiB
YAML
170 lines
4.8 KiB
YAML
# vim: set ts=2 sts=2 sw=2 expandtab :
|
|
dist: xenial
|
|
sudo: required
|
|
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 gen-index https://github.com/mate-desktop/mate-dev-scripts/raw/master/travis/gen-index.sh
|
|
- chmod +x docker-build gen-index
|
|
|
|
install:
|
|
- sudo apt-get install -y python3-pip python3-setuptools
|
|
- sudo pip3 install --upgrade pip
|
|
- sudo pip install PyGithub
|
|
- ./docker-build --name ${DISTRO} --config .travis.yml --install
|
|
|
|
script:
|
|
- ./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.*$
|
|
- provider: script
|
|
script: ./docker-build --verbose --config .travis.yml --release github
|
|
skip_cleanup: true
|
|
on:
|
|
tags: true
|
|
condition: "${TRAVIS_TAG} =~ ^v.*$ && ${DISTRO} =~ ^fedora.*$"
|
|
|
|
after_success:
|
|
- 'if [[ "$TRAVIS_SECURE_ENV_VARS" == "true" && "$TRAVIS_PULL_REQUEST" != "false" && ${DISTRO} =~ ^fedora.*$ ]]; then
|
|
REPO_SLUG_ARRAY=(${TRAVIS_REPO_SLUG//\// });
|
|
REPO_NAME=${REPO_SLUG_ARRAY[1]};
|
|
URL="https://${REPO_NAME}.mate-desktop.dev";
|
|
COMMENT="Code analysis completed";
|
|
curl -H "Authorization: token $GITHUB_TOKEN" -X POST
|
|
-d "{\"state\": \"success\", \"description\": \"$COMMENT\", \"context\":\"scan-build\", \"target_url\": \"$URL\"}"
|
|
https://api.github.com/repos/${TRAVIS_REPO_SLUG}/statuses/${TRAVIS_PULL_REQUEST_SHA};
|
|
fi'
|
|
|
|
env:
|
|
- DISTRO="archlinux/base"
|
|
- DISTRO="debian:testing"
|
|
- DISTRO="fedora:latest"
|
|
- DISTRO="ubuntu:19.10"
|
|
|
|
##########################################################
|
|
# THE FOLLOWING LINES IS USED BY docker-build
|
|
##########################################################
|
|
requires:
|
|
archlinux:
|
|
# Useful URL: https://git.archlinux.org/svntogit/community.git/tree/mate-polkit
|
|
- clang
|
|
- gcc
|
|
- git
|
|
- gtk3
|
|
- libappindicator-gtk3
|
|
- make
|
|
- mate-common
|
|
- polkit
|
|
- which
|
|
|
|
debian:
|
|
# Useful URL: https://github.com/mate-desktop/debian-packages
|
|
# Useful URL: https://salsa.debian.org/debian-mate-team/mate-polkit
|
|
- autopoint
|
|
- clang
|
|
- clang-tools
|
|
- cppcheck
|
|
- gcc
|
|
- git
|
|
- libappindicator3-dev
|
|
- libgtk-3-dev
|
|
- libpolkit-agent-1-dev
|
|
- libpolkit-gobject-1-dev
|
|
- make
|
|
- mate-common
|
|
|
|
fedora:
|
|
# Useful URL: https://src.fedoraproject.org/cgit/rpms/mate-polkit.git
|
|
- clang
|
|
- clang-analyzer
|
|
- cppcheck-htmlreport
|
|
- gcc
|
|
- git
|
|
- gtk3-devel
|
|
- libappindicator-gtk3-devel
|
|
- make
|
|
- mate-common
|
|
- polkit-devel
|
|
- redhat-rpm-config
|
|
|
|
ubuntu:
|
|
- autopoint
|
|
- clang
|
|
- clang-tools
|
|
- git
|
|
- libappindicator3-dev
|
|
- libgtk-3-dev
|
|
- libpolkit-agent-1-dev
|
|
- libpolkit-gobject-1-dev
|
|
- make
|
|
- mate-common
|
|
|
|
variables:
|
|
- CFLAGS="-Wall -Werror=format-security -Wredundant-decls"
|
|
- '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:
|
|
- ./autogen.sh
|
|
- scan-build $CHECKERS ./configure
|
|
- if [ $CPU_COUNT -gt 1 ]; then
|
|
- scan-build $CHECKERS --keep-cc -o html-report make -j $CPU_COUNT
|
|
- else
|
|
- scan-build $CHECKERS --keep-cc -o html-report make
|
|
- fi
|
|
- if [ ${DISTRO_NAME} == "debian" ];then
|
|
- cppcheck --enable=warning,style,performance,portability,information,missingInclude .
|
|
- fi
|
|
|
|
after_scripts:
|
|
- if [ ${DISTRO_NAME} == "fedora" ];then
|
|
- cppcheck --xml --output-file=cppcheck.xml --enable=warning,style,performance,portability,information,missingInclude .
|
|
- cppcheck-htmlreport --title=${REPO_NAME} --file=cppcheck.xml --report-dir=cppcheck-htmlreport
|
|
- ./gen-index -l 20
|
|
- fi
|
|
- make distcheck
|
|
|
|
releases:
|
|
draft: false
|
|
prerelease: false
|
|
checksum: true
|
|
file_glob: true
|
|
files: mate-polkit-*.tar.xz
|
|
github_release:
|
|
tags: true
|
|
overwrite: true
|
|
base_version: 1.20.0
|
|
notify_servers:
|
|
- https://release.mate-desktop.org/release
|