diff options
Diffstat (limited to '.travis.yml')
-rw-r--r-- | .travis.yml | 108 |
1 files changed, 34 insertions, 74 deletions
diff --git a/.travis.yml b/.travis.yml index 21c2a40..b9b6969 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,7 @@ language: c -# Use the latest Travis images since they are more up to date than the stable release. group: edge +os: linux +dist: bionic before_script: - export -f travis_fold @@ -22,7 +23,9 @@ addons: - libola-dev - libjack-jackd2-dev - liblua5.3-dev + - python3-dev - libssl-dev + - lintian packages: &core_build_gpp_latest - *core_build - gcc-8 @@ -34,47 +37,27 @@ addons: - *core_build - mingw-w64 -matrix: +jobs: fast_finish: true include: - - os: osx - osx_image: xcode10.2 - compiler: clang - env: - - TASK='compile' - - os: osx - osx_image: xcode10.2 - compiler: gcc - env: - - TASK='compile' - - os: osx - osx_image: xcode10.2 - compiler: clang - env: - - TASK='sanitize' - os: linux - dist: xenial + dist: bionic compiler: clang env: TASK='compile' addons: apt: packages: - *core_build_clang_latest - sources: - - ubuntu-toolchain-r-test - - llvm-toolchain-xenial-6.0 - os: linux - dist: xenial + dist: bionic compiler: gcc env: TASK='compile' addons: apt: packages: - *core_build_gpp_latest - sources: - - ubuntu-toolchain-r-test - os: linux - dist: xenial + dist: bionic compiler: mingw32-gcc env: - TASK='windows' @@ -83,33 +66,16 @@ matrix: apt: packages: - *core_build_windows - sources: - - ubuntu-toolchain-r-test - os: linux - dist: xenial + dist: bionic compiler: clang env: TASK='sanitize' addons: apt: packages: - *core_build_clang_latest - sources: - - ubuntu-toolchain-r-test - - llvm-toolchain-xenial-6.0 - os: linux - dist: xenial - compiler: gcc - env: TASK='coverity' - addons: - apt: - packages: - # Coverity doesn't work with g++-5 or g++-6 yet - - *core_build - - gcc-4.9 - sources: - - ubuntu-toolchain-r-test - - os: linux - dist: xenial + dist: bionic env: TASK='spellintian' addons: apt: @@ -117,7 +83,7 @@ matrix: - *core_build - moreutils - os: linux - dist: xenial + dist: bionic env: TASK='spellintian-duplicates' addons: apt: @@ -125,23 +91,34 @@ matrix: - *core_build - moreutils - os: linux - dist: xenial + dist: bionic env: TASK='codespell' addons: apt: packages: - *core_build - moreutils - allow_failures: - - os: linux - dist: xenial + - os: osx + osx_image: xcode10.2 + compiler: clang + env: + - TASK='compile' + - os: osx + osx_image: xcode10.2 compiler: gcc - env: TASK='coverity' + env: + - TASK='compile' + - os: osx + osx_image: xcode10.2 + compiler: clang + env: + - TASK='sanitize' + allow_failures: - os: linux - dist: xenial + dist: bionic env: TASK='spellintian-duplicates' - os: linux - dist: xenial + dist: bionic env: TASK='codespell' env: @@ -150,21 +127,6 @@ env: - TERM=dumb # Parallel make build - MAKEFLAGS="-j 2" - # -- BEGIN Coverity Scan ENV - - COVERITY_SCAN_BUILD_COMMAND_PREPEND="cov-configure --comptype gcc --compiler gcc-4.9 --template" - # The build command with all of the arguments that you would apply to a manual `cov-build` - # Usually this is the same as STANDARD_BUILD_COMMAND, excluding the automated test arguments - - COVERITY_SCAN_BUILD_COMMAND="make" - # Name of the project - - COVERITY_SCAN_PROJECT_NAME="$TRAVIS_REPO_SLUG" - # Email address for notifications related to this build - # - COVERITY_SCAN_NOTIFICATION_EMAIL="" - # Regular expression selects on which branches to run analysis - # Be aware of quotas. Do not run on every branch/commit - - COVERITY_SCAN_BRANCH_PATTERN=".*" - # COVERITY_SCAN_TOKEN via "travis encrypt" using the repo's public key - # - secure: "" - # -- END Coverity Scan ENV cache: apt: true @@ -182,14 +144,14 @@ before_install: - git pull --tags - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi # 'brew install' sometimes returns non-zero for some arcane reason. Executing 'true' resets the exit code and allows Travis to continue building... - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install ccache ola lua openssl jack; true; fi +# Travis seems to have Python 2.7 installed by default, which for some reason prevents pkg-config from reading python3.pc + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install ccache ola lua openssl jack python3; brew link --overwrite python; true; fi # OpenSSL is not a proper install due to some Apple bull, so provide additional locations via the environment... # Additionally, newer versions of this "recipe" seem to use the name 'openssl@1.1' instead of plain 'openssl' and there seems to be # no way to programmatically get the link and include paths. Genius! Hardcoding the new version for the time being... - export CFLAGS="$CFLAGS -I/usr/local/opt/openssl@1.1/include" - export LDFLAGS="$LDFLAGS -L/usr/local/opt/openssl@1.1/lib" - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then PATH=/usr/local/opt/ccache/libexec:$PATH; fi # Use ccache on Mac too -#Coverity doesn't work with g++ 5 or 6, so only upgrade to g++ 4.9 for that - if [ "$TRAVIS_OS_NAME" == "linux" -a \( "$TASK" = "compile" -o "$TASK" = "sanitize" \) -a "$CC" = "gcc" ]; then export CC="ccache gcc-8"; export CXX="ccache g++-8"; fi #Use the latest clang if we're compiling with clang - if [ "$TRAVIS_OS_NAME" == "linux" -a "$CC" = "clang" ]; then export CC="clang-6.0"; export CXX="clang-6.0"; fi @@ -197,15 +159,13 @@ before_install: - $CC --version #OS X uses something other than $CXX variable - if [ "$TRAVIS_OS_NAME" == "linux" -a \( "$TASK" = "compile" -o "$TASK" = "sanitize" \) ]; then $CXX --version; fi - - if [ "$TASK" == "spellintian" -o "$TASK" == "spellintian-duplicates" ]; then wget "http://archive.ubuntu.com/ubuntu/pool/main/l/lintian/lintian_2.5.104_all.deb"; sudo dpkg -i lintian_*.deb; sudo apt-get install -f -y; fi # Install a later lintian - -after_script: - - if [ "$TASK" = "coverity" ]; then tail -n 10000 ${TRAVIS_BUILD_DIR}/cov-int/build-log.txt; cat ${TRAVIS_BUILD_DIR}/cov-int/scm_log.txt; fi +# Download libraries to link with on Windows + - if [ "$TASK" == "windows" ]; then mkdir libs; wget "https://downloads.sourceforge.net/project/luabinaries/5.3.5/Windows%20Libraries/Dynamic/lua-5.3.5_Win64_dllw6_lib.zip" -O lua53.zip; unzip lua53.zip lua53.dll; mv lua53.dll libs; fi deploy: provider: releases file_glob: true - api_key: $GITHUB_TOKEN + token: $GITHUB_TOKEN file: ./deployment/* skip_cleanup: true draft: true |