Files
ci-scripts/.travis.yml
2020-03-31 18:43:36 +02:00

182 lines
4.0 KiB
YAML

# .travis.yml for testing EPICS Base ci-scripts
# (see: https://github.com/epics-base/ci-scripts)
# Note:
# Paths to scripts are different in this test configuration
# (your module has one more directory level: .ci)
language: cpp
compiler: gcc
dist: xenial
cache:
directories:
- $HOME/.cache
env:
global:
- SETUP_PATH=.:.ci
addons:
apt:
packages:
- libreadline6-dev
- libncurses5-dev
- perl
- clang
- g++-mingw-w64-i686
- g++-mingw-w64-x86-64
- qemu-system-x86
homebrew:
packages:
- re2c
- bash
update: true
install:
- ./travis/prepare.sh
script:
- ./travis-test.sh
# If you need to do more during install and build,
# add a local directory to your module and do e.g.
# - ./.ci-local/travis/install-extras.sh
# Define build jobs
# Well-known variables to use
# SET source setup file
# EXTRA content will be added to make command line
# STATIC set to YES for static build (default: NO)
# TEST set to NO to skip running the tests (default: YES)
# VV set to make build scripts verbose (default: unset)
# Usually from setup files, but may be specified or overridden
# on a job line
# MODULES list of dependency modules
# BASE branch or release tag name of the EPICS Base to use
# <MODULE> branch or release tag for a specific module
# ... see README for setup file syntax description
jobs:
include:
# Run unit tests on Linux and Mac
- env: SET=test00
- env: SET=test00
os: osx
# Compile the example application
# using the build configurations from full makeBaseApp example
- env: SET=test01
# On the side: test ADD_MODULES
- env: SET=test01 ADD_MODULES=ipac
compiler: clang
- env: VV="" SET=test01
- env: SET=test01 EXTRA="CMD_CXXFLAGS=-std=c++11"
- env: SET=test01 EXTRA="CMD_CXXFLAGS=-std=c++11"
compiler: clang
# trusty is pretty close to RHEL7
- env: SET=test01
dist: trusty
- env: SET=test01 EXTRA="CMD_CXXFLAGS=-std=c++11"
dist: trusty
# Cross-compilation to Windows using MinGW and WINE
- env: SET=test01 WINE=32 TEST=NO STATIC=YES
compiler: mingw
- env: SET=test01 WINE=64 TEST=NO STATIC=YES
compiler: mingw
# dynamic (DLL) builds are broken on xenial
- env: SET=test01 WINE=32 TEST=NO STATIC=NO
dist: bionic
compiler: mingw
- env: SET=test01 WINE=64 TEST=NO STATIC=NO
dist: bionic
compiler: mingw
# Cross-compilation to RTEMS
# (needs EPICS Base >= 3.16.2)
- env: SET=test01 RTEMS=4.10
- env: SET=test01 RTEMS=4.9
# Other gcc versions (adding as an extra package)
- env: SET=test01
compiler: gcc-6
addons: { apt: { packages: ["g++-6"], sources: ["ubuntu-toolchain-r-test"] } }
- env: SET=test01
compiler: gcc-7
addons: { apt: { packages: ["g++-7"], sources: ["ubuntu-toolchain-r-test"] } }
# MacOS build
# SNCSEQ 2.2.7 fails to build on MacOS; currently needs master
- env: SET=test01 SNCSEQ=master
os: osx
compiler: clang
# Base 3.15 builds
# ================
- env: BASE=R3.15.7 SET=test01
- env: BASE=R3.15.7 SET=test01 WINE=64 TEST=NO STATIC=YES
dist: bionic
compiler: mingw
# The DLL build for this Base version is known to fail
# - env: BASE=R3.15.7 SET=test01 WINE=64 TEST=NO STATIC=NO
# dist: bionic
# compiler: mingw
# Cross-compilation to RTEMS
# (needs EPICS Base >= 3.16.2)
- env: BASE=R3.16.2 SET=test01 RTEMS=4.10
dist: trusty
- env: BASE=R3.16.2 SET=test01 RTEMS=4.9
dist: trusty
# SNCSEQ 2.2.7 fails to build on MacOS; currently needs master
- env: BASE=R3.15.7 SET=test01 SNCSEQ=master
os: osx
compiler: clang
# Base 3.14 builds
# ================
- env: BASE=R3.14.12.8 SET=test01
- env: BASE=R3.14.12.8 SET=test01 WINE=64 TEST=NO STATIC=YES
dist: bionic
compiler: mingw
# The DLL build for this Base version is known to fail
# - env: BASE=R3.14.12.8 SET=test01 WINE=64 TEST=NO STATIC=NO
# dist: bionic
# compiler: mingw
# SNCSEQ 2.2.7 fails to build on MacOS; currently needs master
- env: BASE=R3.14.12.8 SET=test01 SNCSEQ=master
os: osx
compiler: clang