Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add windows to travis (#327)
[simgrid.git] / .travis.yml
index 5f89b91..f0f882b 100644 (file)
@@ -5,29 +5,30 @@
 #   apt-get libns3-dev ns3
 #
 #
-#sudo: required
-dist: trusty
+dist: xenial
 language: cpp
 compiler:
    - gcc
-#  - clang # boost 1.48 raises an error on clang:
-#            /usr/include/boost/signals2/detail/auto_buffer.hpp:565:57: error:
-#              reference to non-static member function must be called
-#                        std::uninitialized_fill( buffer_, buffer_ + size, init_value );
-#                                                                    ^~~~
-#
+#  - clang 
+jdk:
+   - openjdk11
 addons:
   apt:
+    update: true
+    allow_unauthenticated: yes
     packages:
     - cmake
     - valgrind
-    - default-jdk
     - gfortran
     - libboost-dev
     - libboost-all-dev
     - libdw-dev
     - libevent-dev
     - libunwind8-dev
+#    - pybind11-dev # Not available in Xenial
+  homebrew:
+    packages:
+    - python
   coverity_scan:
     project:
       name: "simgrid/simgrid"
@@ -47,14 +48,21 @@ addons:
 #   - ls -lR $TRAVIS_BUILD_DIR/LuaInstall
 
 script:
-   - test "$TRAVIS_OS_NAME" == "osx"   && brew update
-   - test "$TRAVIS_OS_NAME" == "osx"   && brew install python3
-   - test "$TRAVIS_OS_NAME" == "osx"   && 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 .
-   - test "$TRAVIS_OS_NAME" == "linux" && 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=OFF -Denable_compile_warnings=ON .
-   # run make in the sonar wrapper && run the tests before sonar to get coverage info
-   - ./tools/internal/travis-sonarqube.sh make VERBOSE=1
-   # if sonar was not run (and if the build succeeded), run the tests manually
-   - if [[ "$TRAVIS_OS_NAME" == "osx" && -e bin/graphicator ]]; then ctest --output-on-failure --timeout 100 ; 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 (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
@@ -62,6 +70,8 @@ notifications:
     on_success: change
     on_failure: always
   irc:
+    on_success: change
+    on_failure: always
     channels:
       - "irc.debian.org#simgrid"
   template:
@@ -69,3 +79,4 @@ notifications:
 os:
   - linux
   - osx
+  - windows