Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
try harder to close stdin on appveyor tests
[simgrid.git] / appveyor.yml
index 894bb39..69e1f1c 100644 (file)
@@ -1,50 +1,72 @@
 # This file is intended to automatize the testing of SimGrid on
 # Windows using the appveyor.com continuous integration service
 
-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:
+- 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
 
+  matrix:
+    - COMPILER: MinGW-w64
+
+#    - COMPILER: MSVC15
+#      PLATFORM: Win32
+#    - COMPILER: MSVC15
+#      PLATFORM: x64
+      
 install:
-#- ps: |
-#      if ($env:Compiler -eq "mingw" -AND -Not (Test-Path "C:\mingw64")) {
-#        # Install MinGW64
-#      $file = "x86_64-4.9.2-release-win32-seh-rt_v4-rev3.7z"
-#      $url  = "https://bintray.com/artifact/download/drewwells/generic/"
-#        $url += $file
-#      Invoke-WebRequest -UserAgent wget -Uri $url -OutFile $file
-#      &7z x -oC:\ $file > $null
-#      }
-- set PATH=C:\mingw64\bin;%PATH%
-- set CC=gcc
+- 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:
-#- '"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\VsDevCmd"'
-- bash -lc "echo \"C:/MinGW64 /mingw64\" > /etc/fstab"
-- bash -lc "ls -lR /mingw64"
-- bash -lc "cd /c/projects/simgrid && 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 ."
-- bash -lc "cd /c/projects/simgrid; echo XXX simgrid_config.h; cat include/simgrid_config.h"
-- bash -lc "cd /c/projects/simgrid; echo XXX src/internal_config.h; cat src/internal_config.h"
-#- C:\MinGW\msys\1.0\bin\bash -lc "cd /c/projects/simgrid; echo XXX Internal builtins; gcc -dM -E - < /dev/null"
-- bash -lc "cd /c/projects/simgrid && make VERBOSE=1"
+- 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
+
 
+# Using bash explicitely and closing STDIN is an attempt to avoid this 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??
 test_script:
-  cmd: ctest -VV
+- bash -c "cd C:/projects/simgrid; exec 0<&-; ctest --output-on-failure" < nul || true
+
+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/sass/libsass/blob/master/appveyor.yml <- install mingw-w64
-# https://github.com/sympy/symengine/blob/master/appveyor.yml <- use provided mingw-w64
\ No newline at end of file
+
+# https://github.com/behdad/harfbuzz/pull/112/files
\ No newline at end of file