Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[mc] Misc. comments
[simgrid.git] / appveyor.yml
index 4058f6e..7d04176 100644 (file)
@@ -1,44 +1,82 @@
-# This file is intended to automatize the testing of SimGrid on
-# Windows using the appveyor.com continuous integration service
+# This file automatize the testing of SimGrid on Windows using the appveyor.com continuous integration service
+#
+# Build logs: https://ci.appveyor.com/project/mquinson/simgrid
 
-os: MinGW
+os: Visual Studio 2015
 version: "{build}"
 clone_depth: 1
 
-platform: 
-  - Win32 # This is Windows 32bits (don't activate since we dont compile properly anyway)
-#  - x64   # This is Windows 64bits
+# scripts that are called at very beginning, before repo cloning
+init:
+- git config --global core.longpaths true
+- git config --global core.autocrlf input
 
 environment:
-  BOOST_ROOT: c:\Libraries\boost
-  BOOST_LIBRARYDIR: c:\Libraries\boost\stage\lib
-  MSYS2_BASEVER: 20150512
-  MSYS2_ARCH: x86_64
+  global:
+    BOOST_ROOT: c:\Libraries\boost_1_59_0
+    BOOST_LIBRARYDIR: c:\Libraries\boost_1_59_0\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
 
 install:
-- appveyor DownloadFile "http://kent.dl.sourceforge.net/project/msys2/Base/%MSYS2_ARCH%/msys2-base-%MSYS2_ARCH%-%MSYS2_BASEVER%.tar.xz" -FileName "msys2.tar.xz"
-- 7z x msys2.tar.xz
-- 7z x msys2.tar > NUL
-- msys64\usr\bin\bash -lc ""
-- msys64\usr\bin\bash -lc "for i in {1..3}; do pacman --noconfirm -Suy gcc make cmake perl && break || sleep 15; done" 
-#- set PATH=C:\mingw64\bin;%PATH%
-#- set CC=gcc
+# Strawberry perl is the one to work with gcc
+- choco install --limit-output strawberryperl -version 5.20.1.1
+- SET PATH=C:\strawberry\c\bin;C:\strawberry\perl\site\bin;C:\strawberry\perl\bin;%PATH%
+- cpanm --notest --quiet Win32API::File
+- cpanm --notest --quiet IPC::Run
+# Lua 
+#- choco install lua53
+# Basic dependencies: gcc and Cmake (must be placed before Perl in the path)
+- SET PATH=C:\tools\mingw64\bin;%PATH%
+- choco install --limit-output mingw cmake
+- rename "C:\Program Files\Git\usr\bin\sh.exe" "sh-ignored.exe"
 
 build_script:
-- msys64\usr\bin\bash -lc "cd $APPVEYOR_BUILD_FOLDER; PATH=$PATH:/mingw64/bin:/mingw32/bin; cmake -G \"MSYS Makefiles\" -DBOOST_ROOT=\"%BOOST_ROOT%\" -DBOOST_LIBRARYDIR=\"%BOOST_LIBRARYDIR%\" -DBoost_USE_STATIC_LIBS=ON -Denable_debug=ON -Denable_documentation=OFF -Denable_coverage=OFF -Denable_tracing=ON -Denable_java=OFF -Denable_model-checking=OFF ."
-- msys64\usr\bin\bash -lc "cd $APPVEYOR_BUILD_FOLDER; echo XXX simgrid_config.h; cat include/simgrid_config.h"
-- msys64\usr\bin\bash -lc "cd $APPVEYOR_BUILD_FOLDER; echo XXX src/internal_config.h; cat src/internal_config.h"
-- msys64\usr\bin\bash -lc "cd $APPVEYOR_BUILD_FOLDER; PATH=$PATH:/mingw64/bin:/mingw32/bin; make VERBOSE=1"
+- cmake -G "MinGW Makefiles" -Denable_lua=OFF -Denable_java=ON -Denable_smpi=OFF -Denable_mallocators=OFF -Denable_lto=OFF .
+- C:\tools\mingw64\bin\mingw32-make.exe VERBOSE=1
+- cd C:/projects/simgrid/examples/java && java -classpath ".;../../simgrid.jar" masterslave.Masterslave ../platforms/platform.xml masterslave/masterslaveDeployment.xml || true
 
-test_script:
-- msys64\usr\bin\bash -lc "cd $APPVEYOR_BUILD_FOLDER; PATH=$PATH:/mingw64/bin:/mingw32/bin; ctest -VV"
+# 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:
+# find  examples/java -name '*tesh'|sed 's|^|- perl %TESH_ARGS% C:/projects/simgrid/|' |sort
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/app/bittorrent/app_bittorrent.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/app/masterworker/app_masterworker.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/async/async.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/dht/chord/dht_chord.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/dht/kademlia/dht_kademlia.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/energy/consumption/energy_consumption.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/energy/vm/energy_vm.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/io/file/io_file.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/io/storage/io_storage.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/process/kill/process_kill.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/process/migration/process_migration.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/process/startkilltime/process_startkilltime.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/process/suspend/process_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
\ No newline at end of file
+# https://github.com/behdad/harfbuzz/pull/112/files