182 lines
4.0 KiB
YAML
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
|