sfizz/.travis.yml
2020-10-23 23:20:17 -07:00

192 lines
5.4 KiB
YAML

language: cpp
os: linux
dist: bionic
cache:
directories:
- vst/download/
jobs:
include:
- name: "clang-tidy checks"
stage: "Tests"
addons:
apt:
packages:
- clang-tidy
- wget
- unzip
- libsndfile-dev
install: .travis/download_vst_sdk.sh
script: scripts/run_clang_tidy.sh
- name: "Linux amd64 tests"
arch: amd64
addons:
apt:
packages:
- libjack-jackd2-dev
- libsndfile1-dev
install: .travis/download_cmake.sh
script: .travis/script_test.sh
- name: "Linux arm64 tests"
arch: arm64-graviton2
group: edge
virt: lxd
addons:
apt:
packages:
- libjack-jackd2-dev
- libsndfile1-dev
install: .travis/download_cmake.sh
script: .travis/script_test.sh
- name: "macOS"
stage: "Build"
os: osx
osx_image: xcode11.3
addons:
homebrew:
packages:
- cmake
- libsndfile
- jack
- dylibbundler
env:
- INSTALL_DIR="sfizz-${TRAVIS_BRANCH}-${TRAVIS_OS_NAME}-${TRAVIS_CPU_ARCH}"
script: .travis/script_osx.sh
after_success: .travis/prepare_tarball.sh
- name: "MOD devices arm"
env:
- CONTAINER=jpcima/mod-plugin-builder
- CROSS_COMPILE=moddevices-arm
- INSTALL_DIR="sfizz-${TRAVIS_BRANCH}-moddevices"
before_install: .travis/before_install_moddevices.sh
install: .travis/install_moddevices.sh
script: .travis/script_moddevices.sh
after_success: .travis/prepare_tarball.sh
- name: "Windows mingw32"
env:
- CROSS_COMPILE=mingw32
- CONTAINER=archlinux
- INSTALL_DIR="sfizz-${TRAVIS_BRANCH}-mingw32"
before_install: .travis/before_install_mingw.sh
install: .travis/install_mingw.sh
script: .travis/script_mingw.sh
after_success: .travis/prepare_tarball.sh
- name: "Windows mingw64"
env:
- CROSS_COMPILE=mingw64
- CONTAINER=archlinux
- INSTALL_DIR="sfizz-${TRAVIS_BRANCH}-mingw64"
before_install: .travis/before_install_mingw.sh
install: .travis/install_mingw.sh
script: .travis/script_mingw.sh
after_success: .travis/prepare_tarball.sh
- name: "Linux amd64 library"
arch: amd64
env:
- INSTALL_DIR="sfizz-${TRAVIS_BRANCH}-${TRAVIS_OS_NAME}-${TRAVIS_CPU_ARCH}"
addons:
apt:
packages:
- libjack-jackd2-dev
- libsndfile1-dev
install: .travis/download_cmake.sh
script: .travis/script_library.sh
after_success: .travis/prepare_tarball.sh
- name: "Linux arm64 library"
arch: arm64-graviton2
group: edge
virt: lxd
env:
- INSTALL_DIR="sfizz-${TRAVIS_BRANCH}-${TRAVIS_OS_NAME}-${TRAVIS_CPU_ARCH}"
addons:
apt:
packages:
- libjack-jackd2-dev
- libsndfile1-dev
install: .travis/download_cmake.sh
script: .travis/script_library.sh
after_success: .travis/prepare_tarball.sh
- name: "Linux arm64 static plugins"
arch: arm64-graviton2
group: edge
virt: lxd
env:
- INSTALL_DIR="sfizz-plugins-${TRAVIS_BRANCH}-${TRAVIS_OS_NAME}-${TRAVIS_CPU_ARCH}"
- ENABLE_VST_PLUGIN=OFF
- ENABLE_LV2_UI=OFF
addons:
apt:
packages:
- libjack-jackd2-dev
- libsndfile1-dev
install:
- .travis/download_cmake.sh
- .travis/download_static_libs.sh
script: .travis/script_plugins.sh
after_success: .travis/prepare_tarball.sh
- name: "Linux amd64 static plugins"
env:
- INSTALL_DIR="sfizz-plugins-${TRAVIS_BRANCH}-${TRAVIS_OS_NAME}-${TRAVIS_CPU_ARCH}"
- ENABLE_VST_PLUGIN=ON
- ENABLE_LV2_UI=ON
addons:
apt:
packages:
- libjack-jackd2-dev
- libsndfile1-dev
- libcairo2-dev
- libfontconfig1-dev
- libx11-xcb-dev
- libxcb-util-dev
- libxcb-cursor-dev
- libxcb-xkb-dev
- libxkbcommon-dev
- libxkbcommon-x11-dev
- libxcb-keysyms1-dev
install:
- .travis/download_cmake.sh
- .travis/download_static_libs.sh
script: .travis/script_plugins.sh
after_success: .travis/prepare_tarball.sh
- stage: "Deploy"
name: "Source packaging"
if: (tag =~ /^v?[0-9]/) AND (type = push)
env:
- INSTALL_DIR="sfizz-${TRAVIS_BRANCH}-src"
addons:
apt:
packages:
- python-pip
install: sudo pip install git-archive-all
script: git-archive-all --prefix="sfizz-${TRAVIS_BRANCH}/" -9 "${INSTALL_DIR}.tar.gz"
- name: "Discord Webhook"
install: skip
script: bash ${TRAVIS_BUILD_DIR}/.travis/discord_webhook.sh success
# Signal discord on failure
after_failure:
- bash ${TRAVIS_BUILD_DIR}/.travis/discord_webhook.sh failure
deploy:
edge: true
provider: releases
file: "${INSTALL_DIR}.tar.gz"
token:
secure: jBIMWMPva8OazC8Wnqc2vqATa3exjvGDGvejEu6fgwt/BMDkgJCsJ7gS3ITpYFuO0HoHtLGfTVrFcZIE+agGVRdRGRni5xZRp5Vuf9hvLf8hCTaxkS/HYoliYYPp9FLY6J4yq9mp/R/QyGrwgssQEjhYlI2GL4+lJzt750AcmYibnQo2AMe5SSOp3q8KdLBG1vca1o1BZWBhW/S7l2hA1aJ7y1ytwm0ETIdrTZHxgfz7bqdqQcw/Ytqjm1rgzty6iQKX3B/InaZNB6CqXy6FoGLf771lery8nWJbjTjKYD4QK2NelExldyp1vrdHGvknWguFk+8vlQ16Dt0+R7Byr/LOPRLTCf/T+IehMQGtVA9/gjrkH8LqHy9oVFB+33p11gGu3h6hvg7yB6z3sSck0u4FHjrlpNd5XmmCsKQVQ9vI1cPPkVkbMHIewc7uOu+bD6cmotFj1vJ9UYesvN6n4siyCiPOIhgV9++bjcyiLqX3DWP5UWyZ9/VT8bz5VcxUdJnEYtdNPx4x5pRW4081VUjIf2EmHhQTrjb1iz6FAGwNU/fpefA8x+bBxXP9MkFFgU0tbCDKw2y6o0GOXX82mZr/IB0/DIBg7UllTzCBKTuiJQV1prFPlZLc6V22H5ozAXHgu3E+qNjvHoMsoYjGssX3+AYHwu8isBINo/gGo6Y=
on:
repo: "sfztools/sfizz"
tags: true
condition: ${TRAVIS_TAG} =~ ^v?[0-9]