# .travis.xml 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 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 # BASE branch or release tag name of the EPICS Base to use # 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) matrix: 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 - env: SET=test01 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 - env: SET=test01 WINE=32 TEST=NO STATIC=NO dist: trusty compiler: mingw - env: SET=test01 WINE=64 TEST=NO STATIC=NO dist: trusty compiler: mingw # Cross-compilation to RTEMS # (needs EPICS Base >= 3.16.2) - env: SET=test01 RTEMS=4.10 TEST=NO dist: trusty - env: SET=test01 RTEMS=4.9 TEST=NO dist: trusty # 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 addons: { homebrew: { packages: ["re2c"], update: true } } # Base 3.15 builds # ================ - env: BASE=R3.15.7 SET=test01 - env: BASE=R3.15.7 SET=test01 WINE=64 TEST=NO STATIC=NO dist: trusty compiler: mingw # Cross-compilation to RTEMS # (needs EPICS Base >= 3.16.2) - env: BASE=R3.16.2 SET=test01 RTEMS=4.10 TEST=NO dist: trusty - env: BASE=R3.16.2 SET=test01 RTEMS=4.9 TEST=NO 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 addons: { homebrew: { packages: ["re2c"], update: true } } # 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=NO dist: trusty 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 addons: { homebrew: { packages: ["re2c"], update: true } }