# .travis.xml for use with EPICS Base ci-scripts # (see: https://github.com/epics-base/ci-scripts) language: cpp compiler: gcc dist: xenial cache: directories: - $HOME/.cache env: global: - SETUP_PATH=.ci-local:.ci # for the sequencer on Windows - CHOCO=re2c addons: apt: packages: # for all EPICS builds - libreadline6-dev - libncurses5-dev - perl # for clang compiler - clang # for mingw builds (32bit and 64bit) - g++-mingw-w64-i686 - g++-mingw-w64-x86-64 # for RTEMS cross builds - qemu-system-x86 homebrew: packages: # for the sequencer - re2c update: true install: - python .ci/cue.py prepare # ugly hacks go here: - python .ci-local/travis/post-prepare.py script: - python .ci/cue.py build - python .ci/cue.py test - python .ci/cue.py test-results # 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 # branch or release tag for a specific module # ... see README for setup file syntax description jobs: include: # Older Base releases - env: SET=base3-14 - env: SET=base3-14 BCFG=static - env: SET=base3-15 - env: SET=base3-15 BCFG=static # Default gcc, static build - env: SET=base7-0 - env: SET=base7-0 BCFG=static # Default clang build - env: SET=base7-0 compiler: clang - env: SET=base7-0 EXTRA="CMD_CXXFLAGS=-std=c++11" compiler: clang # Trusty: compiler versions very close to RHEL 7 - env: SET=base7-0 dist: trusty - env: SET=base7-0 BCFG=debug dist: trusty # Other gcc versions (added as an extra package) - env: SET=base7-0 compiler: gcc-6 addons: { apt: { packages: ["g++-6"], sources: ["ubuntu-toolchain-r-test"] } } - env: SET=base7-0 compiler: gcc-7 addons: { apt: { packages: ["g++-7"], sources: ["ubuntu-toolchain-r-test"] } } # Cross-compilations to Windows using MinGW and WINE - env: SET=base7-0 WINE=32 TEST=NO BCFG=static - env: SET=base7-0 WINE=64 TEST=NO # Windows builds - env: SET=base7-0 os: windows compiler: vs2017 - env: SET=base7-0 BCFG=static os: windows compiler: vs2017 - env: SET=base7-0 BCFG=debug os: windows compiler: vs2017 # MacOS build - env: SET=base7-0 os: osx compiler: clang # Cross-compilation to RTEMS - env: SET=base7-0 RTEMS=4.9 - env: SET=base7-0 RTEMS=4.10