1 # This file automatize the testing of SimGrid on Windows using the appveyor.com continuous integration service
3 # Build logs: https://ci.appveyor.com/project/mquinson/simgrid
9 # scripts that are called at very beginning, before repo cloning
11 - git config --global core.longpaths true
12 - git config --global core.autocrlf input
16 BOOST_ROOT: c:\Libraries\boost
17 BOOST_LIBRARYDIR: c:\Libraries\boost\stage\lib
18 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
21 # Strawberry perl is the one to work with gcc
22 - choco install strawberryperl -version 5.20.1.1
23 - SET PATH=C:\strawberry\c\bin;C:\strawberry\perl\site\bin;C:\strawberry\perl\bin;%PATH%
24 - cpanm --notest --quiet Win32API::File
25 - cpanm --notest --quiet IPC::Run
27 #- choco install lua53
28 # Basic dependencies: gcc and Cmake (must be placed before Perl in the path)
29 - SET PATH=C:\tools\mingw64\bin;%PATH%
30 - choco install mingw cmake
31 - rename "C:\Program Files\Git\usr\bin\sh.exe" "sh-ignored.exe"
34 - cmake -G "MinGW Makefiles" -Denable_lua=OFF -Denable_java=ON -Denable_smpi=OFF -Denable_mallocators=OFF -Denable_lto=OFF .
35 - C:\tools\mingw64\bin\mingw32-make.exe VERBOSE=1
36 - cd C:/projects/simgrid/examples/java && java -classpath ".;../../simgrid.jar" masterslave.Masterslave ../platforms/platform.xml masterslave/masterslaveDeployment.xml || true
38 # I cant use the cmake test because of the following error:
39 # Test project C:/projects/simgrid
40 # Start 1: mc-replay-random-bug
41 # ^CTerminate batch job (Y/N)?
42 # How dafuq am I supposed to press N on appveyor?? I tried closing stdin, in vain
43 #- bash -c "cd C:/projects/simgrid; exec 0<&-; ctest --output-on-failure" < nul || true
46 - perl %TESH_ARGS% C:/projects/simgrid/examples/java/async/async.tesh
47 - perl %TESH_ARGS% C:/projects/simgrid/examples/java/bittorrent/bittorrent.tesh
48 - perl %TESH_ARGS% C:/projects/simgrid/examples/java/master_slave_bypass/bypass.tesh
49 - perl %TESH_ARGS% C:/projects/simgrid/examples/java/chord/chord.tesh
50 - perl %TESH_ARGS% C:/projects/simgrid/examples/java/cloud/cloud.tesh
51 - perl %TESH_ARGS% C:/projects/simgrid/examples/java/cloud/migration/migration.tesh
52 - perl %TESH_ARGS% C:/projects/simgrid/examples/java/commTime/commtime.tesh
53 - perl %TESH_ARGS% C:/projects/simgrid/examples/java/kademlia/kademlia.tesh
54 - perl %TESH_ARGS% C:/projects/simgrid/examples/java/master_slave_kill/kill.tesh
55 - perl %TESH_ARGS% C:/projects/simgrid/examples/java/masterslave/masterslave.tesh
56 - perl %TESH_ARGS% C:/projects/simgrid/examples/java/migration/migration.tesh
57 - perl %TESH_ARGS% C:/projects/simgrid/examples/java/mutualExclusion/mutualexclusion.tesh
58 - perl %TESH_ARGS% C:/projects/simgrid/examples/java/pingPong/pingpong.tesh
59 - perl %TESH_ARGS% C:/projects/simgrid/examples/java/priority/priority.tesh
60 - perl %TESH_ARGS% C:/projects/simgrid/examples/java/startKillTime/startKillTime.tesh
61 - perl %TESH_ARGS% C:/projects/simgrid/examples/java/suspend/suspend.tesh
62 - perl %TESH_ARGS% C:/projects/simgrid/examples/java/tracing/tracingPingPong.tesh
69 # - irc: "irc.debian.org#simgrid" # Not implemented by AppVeyor yet :(
70 # Some source of inspiration:
72 # https://github.com/sympy/symengine/blob/master/appveyor.yml <- MS, mingw & mingw64
74 # https://github.com/dartsim/dart/blob/master/appveyor.yml
75 # https://github.com/osmcode/libosmium/blob/master/appveyor.yml
76 # https://github.com/polysquare/cmake-unit/blob/master/appveyor.yml
77 # https://github.com/openvswitch/ovs/blob/master/appveyor.yml
79 # https://github.com/behdad/harfbuzz/pull/112/files