190 lines
5.5 KiB
YAML
190 lines
5.5 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:sid"
|
|
- DISTRO="fedora:30"
|
|
- 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-terminal
|
|
- clang
|
|
- gcc
|
|
- git
|
|
- intltool
|
|
- libsm
|
|
- make
|
|
- mate-common
|
|
- mate-desktop
|
|
- vte3
|
|
- which
|
|
- yelp-tools
|
|
|
|
debian:
|
|
# Useful URL: https://github.com/mate-desktop/debian-packages
|
|
# Useful URL: https://salsa.debian.org/debian-mate-team/mate-terminal
|
|
- clang
|
|
- clang-tools
|
|
- cppcheck
|
|
- gcc
|
|
- git
|
|
- intltool
|
|
- intltool
|
|
- libdconf-dev
|
|
- libglib2.0-dev
|
|
- libgtk-3-dev
|
|
- libsm-dev
|
|
- libvte-2.91-dev
|
|
- libx11-dev
|
|
- make
|
|
- mate-common
|
|
- yelp-tools
|
|
|
|
fedora:
|
|
# Useful URL: https://src.fedoraproject.org/cgit/rpms/mate-terminal.git
|
|
- clang
|
|
- clang-analyzer
|
|
- cppcheck-htmlreport
|
|
- gcc
|
|
- dconf-devel
|
|
- desktop-file-utils
|
|
- git
|
|
- gtk3-devel
|
|
- libSM-devel
|
|
- make
|
|
- mate-common
|
|
- redhat-rpm-config
|
|
- vte291-devel
|
|
|
|
ubuntu:
|
|
- clang
|
|
- clang-tools
|
|
- git
|
|
- intltool
|
|
- intltool
|
|
- libdconf-dev
|
|
- libglib2.0-dev
|
|
- libgtk-3-dev
|
|
- libsm-dev
|
|
- libvte-2.91-dev
|
|
- libx11-dev
|
|
- make
|
|
- mate-common
|
|
- yelp-tools
|
|
|
|
variables:
|
|
- CFLAGS="-Wall -Werror=format-security"
|
|
- '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:
|
|
- if [ ${DISTRO_NAME} == "debian" ];then
|
|
- curl -Ls -o debian.sh https://github.com/mate-desktop/mate-dev-scripts/raw/master/travis/debian.sh
|
|
- bash ./debian.sh
|
|
- egrep -lRZ 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS' . | xargs -0 -l sed -i -e 's/G_GNUC_BEGIN_IGNORE_DEPRECATIONS/ /g'
|
|
- egrep -lRZ 'G_GNUC_END_IGNORE_DEPRECATIONS' . | xargs -0 -l sed -i -e 's/G_GNUC_END_IGNORE_DEPRECATIONS/ /g'
|
|
- fi
|
|
|
|
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 -i https://github.com/${OWNER_NAME}/mate-icon-theme/raw/master/mate/16x16/apps/utilities-terminal.png
|
|
- fi
|
|
- make distcheck
|
|
|
|
releases:
|
|
draft: false
|
|
prerelease: false
|
|
checksum: true
|
|
file_glob: true
|
|
files: mate-terminal-*.tar.xz
|
|
github_release:
|
|
tags: true
|
|
overwrite: true
|
|
base_version: 1.20.0
|
|
notify_servers:
|
|
- https://release.mate-desktop.org/release
|