Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
travis: manually use apt-get since the apt addon is borken on bionic
[simgrid.git] / .travis.yml
index fcb08e6..301758d 100644 (file)
@@ -5,24 +5,28 @@
 #   apt-get libns3-dev ns3
 #
 #
-#sudo: required
-dist: trusty
+dist: bionic
 language: cpp
 compiler:
    - gcc
 #  - clang 
+jdk:
+   - openjdk11
 addons:
   apt:
     packages:
     - cmake
     - valgrind
-    - default-jdk
     - gfortran
     - libboost-dev
     - libboost-all-dev
     - libdw-dev
     - libevent-dev
     - libunwind8-dev
+    - pybind11-dev
+  homebrew:
+    packages:
+    - python
   coverity_scan:
     project:
       name: "simgrid/simgrid"
@@ -32,22 +36,32 @@ addons:
     build_command:   "make VERBOSE=1"
     branch_pattern: coverity
 
-# Don't install lua from Debian as we need 5.3 and don't have a backport.
-#   Installing lua from the source does not make any dynamic library.
-#   - curl http://www.lua.org/ftp/lua-5.3.1.tar.gz | tar xz
-#   - cd lua-5.3.1 
-#   -   if [ ${TRAVIS_OS_NAME} = 'linux' ] ; then make linux ; else make macosx ; fi
-#   -   make INSTALL_TOP=$TRAVIS_BUILD_DIR/LuaInstall install
-#   - cd ..
-#   - ls -lR $TRAVIS_BUILD_DIR/LuaInstall
-
 script:
-   - if [[ "$TRAVIS_OS_NAME" == "osx"   ]]; then brew update; fi
-   - if [[ "$TRAVIS_OS_NAME" == "osx"   ]]; then brew upgrade python; fi
-   - if [[ "$TRAVIS_OS_NAME" == "osx"   ]]; then cmake -Denable_model-checking=OFF -Denable_documentation=OFF -Denable_coverage=ON -Denable_java=ON -Denable_lua=OFF -Denable_compile_optimizations=ON -Denable_smpi=ON -Denable_smpi_MPICH3_testsuite=OFF -Denable_compile_warnings=ON .; fi
-   - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then cmake -Denable_model-checking=ON  -Denable_documentation=OFF -Denable_coverage=ON -Denable_java=ON -Denable_lua=OFF -Denable_compile_optimizations=ON -Denable_smpi=ON -Denable_smpi_MPICH3_testsuite=ON -Denable_compile_warnings=ON .; fi
-   # run make and ctest in the sonar wrapper on master/linux; run it directly in PR or OSX
-   - if [[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ "${TRAVIS_PULL_REQUEST}" == "false" ]]; then ./tools/internal/travis-sonarqube.sh make VERBOSE=1; else make VERBOSE=1 && ctest --output-on-failure ; fi
+   - if [[ "$TRAVIS_OS_NAME" == "windows"   ]]; then
+       mv "C:/Program Files/Git/usr/bin/sh.exe" "sh-ignored.exe";
+       choco install boost-msvc-12 python jdk8;
+       export CC=gcc;
+       export CXX=g++;
+       export PATH='C:\Python37':'C:\local\boost_1_58_0':$PATH;
+       export BOOST_LIBRARYDIR='C:/local/boost_1_58_0/lib64-msvc-12.0';
+       export BOOST_INCLUDEDIR='C:/local/boost_1_58_0/include';
+       export JAVA_HOME='C:/Program Files/Java/jdk1.8.0_211';
+       cmake -G "MinGW Makefiles" -Denable_lua=OFF -Denable_documentation=OFF -Denable_java=ON -Denable_smpi=OFF -Denable_mallocators=OFF -Denable_lto=OFF .;
+       mingw32-make.exe VERBOSE=1 java-all; 
+       ctest --output-on-failure -R java;
+     fi
+   - if [[ "$TRAVIS_OS_NAME" == "osx"   ]]; then
+       cmake -Denable_model-checking=OFF -Denable_documentation=OFF -Denable_coverage=ON -Denable_java=ON -Denable_lua=OFF -Denable_compile_optimizations=ON -Denable_smpi=ON -Denable_smpi_MPICH3_testsuite=OFF -Denable_compile_warnings=ON .;
+       make -j2 VERBOSE=1 all tests;
+       ctest -j2 --output-on-failure;
+     fi
+   - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
+       sudo apt-get update -qq;
+       sudo apt-get install cmake valgrind gfortran libboost-dev libboost-all-dev libdw-dev libevent-dev libunwind8-dev pybind11-dev;
+       cmake -Denable_model-checking=ON  -Denable_documentation=OFF -Denable_coverage=ON -Denable_java=ON -Denable_lua=OFF -Denable_compile_optimizations=ON -Denable_smpi=ON -Denable_smpi_MPICH3_testsuite=ON -Denable_compile_warnings=ON . || (echo XXX CMakeOutput.log; cat /home/travis/build/simgrid/simgrid/CMakeFiles/CMakeOutput.log; echo XXX CMakeError.log;cat /home/travis/build/simgrid/simgrid/CMakeFiles/CMakeError.log; exit 1);
+       make -j2 VERBOSE=1 all tests;
+       ctest -j2 --output-on-failure;
+     fi
 notifications:
   recipients:
     - martin.quinson@ens-rennes.fr
@@ -55,6 +69,8 @@ notifications:
     on_success: change
     on_failure: always
   irc:
+    on_success: change
+    on_failure: always
     channels:
       - "irc.debian.org#simgrid"
   template:
@@ -62,3 +78,4 @@ notifications:
 os:
   - linux
   - osx
+  - windows