language: cpp dist: xenial env: matrix: fast_finish: true include: - os: linux addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-5 env: COMPILER=gcc GCC=5 - os: linux addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-6 env: COMPILER=gcc GCC=6 - os: linux addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-7 env: COMPILER=gcc GCC=7 - os: linux addons: apt: sources: - ubuntu-toolchain-r-test - llvm-toolchain-xenial-6.0 packages: - clang-6.0 env: COMPILER=clang CLANG=6.0 - os: osx osx_image: xcode8 compiler: clang env: global: - MINCONDA_VERSION="latest" - MINCONDA_LINUX="Linux-x86_64" - MINCONDA_OSX="MacOSX-x86_64" before_install: - | # Configure build variables if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then if [[ "$COMPILER" == "gcc" ]]; then export CXX=g++-$GCC CC=gcc-$GCC; fi if [[ "$COMPILER" == "clang" ]]; then export CXX=clang++-$CLANG CC=clang-$CLANG; fi elif [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export CXX=clang++ CC=clang; fi install: # Set environment using Conda - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then MINCONDA_OS=$MINCONDA_LINUX; elif [[ "$TRAVIS_OS_NAME" == "osx" ]]; then MINCONDA_OS=$MINCONDA_OSX; fi - wget "http://repo.continuum.io/miniconda/Miniconda3-$MINCONDA_VERSION-$MINCONDA_OS.sh" -O miniconda.sh; - bash miniconda.sh -b -p $HOME/miniconda - export PATH="$HOME/miniconda/bin:$PATH" - hash -r - conda config --set always_yes yes --set changeps1 no - conda update -q conda - conda install -c conda-forge mamba - > mamba install -c conda-forge cmake xtensor xsimd eigen python numpy pyxtensor catch2 h5py highfive gmatelastic gmatnonlinearelastic gmatelastoplastic gmatelastoplasticfinitestrainsimo gmatelastoplasticqpot python-gmatelastic # Build/install the library - cmake . -DBUILD_TESTS=ON -DBUILD_EXAMPLES=ON - make - sudo make install - python setup.py build - python setup.py install script: # Run tests - ./test/basic/test-basic - ./test/gmat/test-gmat # Run examples - ./docs/examples/statics_FixedDisplacements_LinearElastic_example - ./docs/examples/statics_FixedDisplacements_LinearElastic_manual_partition # - ./docs/examples/statics_Periodic_LinearElastic_main # - ./docs/examples/statics_Periodic_NonLinearElastic_main # - ./docs/examples/statics_Periodic_ElastoPlastic_main # - ./docs/examples/statics_Periodic_ElastoPlasticFiniteStrainSimo_main - python ./docs/examples/statics/FixedDisplacements_LinearElastic/example.py --no-plot - python ./docs/examples/statics/FixedDisplacements_LinearElastic/manual_partition.py --no-plot