Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[appveyor] try to correclty unpack the lua.tar.gz
[simgrid.git] / appveyor.yml
index 9438cb2..dcc732a 100644 (file)
@@ -5,21 +5,82 @@ 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:
+- cmake --version
+- msbuild /version
+- 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
+  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%]==[MinGW-w64] appveyor DownloadFile "http://www.lua.org/ftp/lua-5.3.0.tar.gz" -FileName lua-5.3.0.tar.gz || appveyor DownloadFile "http://www.lua.org/ftp/lua-5.3.0.tar.gz" -FileName lua-5.3.0.tar.gz
+- if [%COMPILER%]==[MinGW-w64] 7z x lua-5.3.0.tar.gz -tgzip | 7z x -si -ttar -olua-5.3.0
+- if [%COMPILER%]==[MinGW-w64] cd lua-5.3.0 && make mingw && make INSTALL_TOP=C:/mingw64
+- if [%COMPILER%]==[MSYS2]     set PATH=C:\msys64\bin,%PATH%
 
 build_script:
-- if [%PLATFORM%]==[Win32] cmake -G "Visual Studio 14 2015"  -DCMAKE_CXX_FLAGS_RELEASE="/MT /W1 /O2 /Ob2 /D NDEBUG" -DCMAKE_CXX_FLAGS_DEBUG="/D_DEBUG /MTd /Zi /Ob0 /Od /RTC1 /W1" .
-- if [%PLATFORM%]==[x64] cmake -G "Visual Studio 14 2015 Win64"  -DCMAKE_CXX_FLAGS_RELEASE="/MT /W1 /O2 /Ob2 /D NDEBUG" -DCMAKE_CXX_FLAGS_DEBUG="/D_DEBUG /MTd /Zi /Ob0 /Od /RTC1 /W1" .
-- msbuild ALL_BUILD.vcxproj /verbosity:normal
+- 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:
-- ctest --output-on-failure
+- 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 :(