# This file is intended to automatize the testing of SimGrid on # Windows using the appveyor.com continuous integration service os: Visual Studio 2015 version: "{build}" clone_depth: 1 # scripts that are called at very beginning, before repo cloning init: - cmake --version - msbuild /version - git config --global core.longpaths true - git config --global core.autocrlf input environment: global: BOOST_ROOT: c:\Libraries\boost_1_59_0 BOOST_LIBRARYDIR: c:\Libraries\boost_1_59_0\stage\lib # BOOST_ROOT: c:\Libraries\boost # BOOST_LIBRARYDIR: c:\Libraries\boost\stage\lib TESH_ARGS: C:/projects/simgrid/bin/tesh --setenv srcdir=C:/projects/simgrid/examples/java --setenv classpath=C:/projects/simgrid/examples/java;C:/projects/simgrid/teshsuite/java;C:/projects/simgrid/simgrid.jar --cd C:/projects/simgrid/examples/java matrix: - COMPILER: MinGW-w64 # - COMPILER: MSVC15 # PLATFORM: Win32 # - COMPILER: MSVC15 # PLATFORM: x64 install: - if [%COMPILER%]==[MinGW] set PATH=C:\MinGW\bin;%PATH% - if [%COMPILER%]==[MinGW] mingw-get update - if [%COMPILER%]==[MinGW] rename "C:\Program Files (x86)\Git\bin\sh.exe" "sh2.exe" - if [%COMPILER%]==[MinGW-w64] set PATH=C:\mingw64\bin;%PATH% - if [%COMPILER%]==[MinGW-w64] rename "C:\Program Files (x86)\Git\bin\sh.exe" "sh2.exe" - if [%COMPILER%]==[MinGW-w64] appveyor DownloadFile "https://raw.githubusercontent.com/symengine/dependencies/5cff7d1736877336cf9fb58267111beea4fa152f/x86_64-4.9.1-release-posix-seh-rt_v3-rev1.7z" -FileName mw64.7z || appveyor DownloadFile "https://raw.githubusercontent.com/symengine/dependencies/5cff7d1736877336cf9fb58267111beea4fa152f/x86_64-4.9.1-release-posix-seh-rt_v3-rev1.7z" -FileName mw64.7z - if [%COMPILER%]==[MinGW-w64] 7z x -oC:\ mw64.7z > NUL - if [%COMPILER%]==[MSYS2] set PATH=C:\msys64\bin,%PATH% build_script: - if [%COMPILER%]==[MSVC15] if [%PLATFORM%]==[Win32] cmake -G "Visual Studio 14 2015" -Denable_java=ON -Denable_smpi=OFF -Denable_mallocators=OFF . - if [%COMPILER%]==[MSVC15] if [%PLATFORM%]==[x64] cmake -G "Visual Studio 14 2015 Win64" -Denable_java=ON -Denable_smpi=OFF -Denable_mallocators=OFF . - if not [%COMPILER%]==[MSVC15] cmake -G "MinGW Makefiles" -Denable_java=ON -Denable_smpi=OFF -Denable_mallocators=OFF -Denable_lto=OFF . - if [%COMPILER%]==[MSVC15] msbuild ALL_BUILD.vcxproj /verbosity:normal - if not [%COMPILER%]==[MSVC15] mingw32-make VERBOSE=1 - cd C:/projects/simgrid/examples/java && java -classpath ".;../../simgrid.jar" masterslave.Masterslave ../platforms/platform.xml masterslave/masterslaveDeployment.xml || true # I cant use the cmake test because of the following error: # Test project C:/projects/simgrid # Start 1: mc-replay-random-bug # ^CTerminate batch job (Y/N)? # How dafuq am I supposed to press N on appveyor?? I tried closing stdin, in vain #- bash -c "cd C:/projects/simgrid; exec 0<&-; ctest --output-on-failure" < nul || true test_script: - perl %TESH_ARGS% C:/projects/simgrid/examples/java/async/async.tesh - perl %TESH_ARGS% C:/projects/simgrid/examples/java/bittorrent/bittorrent.tesh - perl %TESH_ARGS% C:/projects/simgrid/examples/java/master_slave_bypass/bypass.tesh - perl %TESH_ARGS% C:/projects/simgrid/examples/java/chord/chord.tesh - perl %TESH_ARGS% C:/projects/simgrid/examples/java/cloud/cloud.tesh - perl %TESH_ARGS% C:/projects/simgrid/examples/java/cloud/migration/migration.tesh - perl %TESH_ARGS% C:/projects/simgrid/examples/java/commTime/commtime.tesh - perl %TESH_ARGS% C:/projects/simgrid/examples/java/kademlia/kademlia.tesh - perl %TESH_ARGS% C:/projects/simgrid/examples/java/master_slave_kill/kill.tesh - perl %TESH_ARGS% C:/projects/simgrid/examples/java/masterslave/masterslave.tesh - perl %TESH_ARGS% C:/projects/simgrid/examples/java/migration/migration.tesh - perl %TESH_ARGS% C:/projects/simgrid/examples/java/mutualExclusion/mutualexclusion.tesh - perl %TESH_ARGS% C:/projects/simgrid/examples/java/pingPong/pingpong.tesh - perl %TESH_ARGS% C:/projects/simgrid/examples/java/priority/priority.tesh - perl %TESH_ARGS% C:/projects/simgrid/examples/java/startKillTime/startKillTime.tesh - perl %TESH_ARGS% C:/projects/simgrid/examples/java/surfCpuModel/surf_cpu_model.tesh - perl %TESH_ARGS% C:/projects/simgrid/examples/java/surfPlugin/surf_plugin.tesh - perl %TESH_ARGS% C:/projects/simgrid/examples/java/reservationSurfPlugin/reservation_surf_plugin.tesh - perl %TESH_ARGS% C:/projects/simgrid/examples/java/suspend/suspend.tesh - perl %TESH_ARGS% C:/projects/simgrid/examples/java/tracing/tracingPingPong.tesh artifacts: - path: simgrid.jar name: jarfile # notifications: # - irc: "irc.debian.org#simgrid" # Not implemented by AppVeyor yet :( # Some source of inspiration: # https://github.com/sympy/symengine/blob/master/appveyor.yml <- MS, mingw & mingw64 # https://github.com/dartsim/dart/blob/master/appveyor.yml # https://github.com/osmcode/libosmium/blob/master/appveyor.yml # https://github.com/polysquare/cmake-unit/blob/master/appveyor.yml # https://github.com/openvswitch/ovs/blob/master/appveyor.yml # https://github.com/behdad/harfbuzz/pull/112/files