Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
use TASK_CANCELED rather than HOST_FAILURE for CancelExeption
[simgrid.git] / .appveyor.yml
index 50c86f6..cd7a096 100644 (file)
@@ -2,10 +2,13 @@
 #
 # Build logs: https://ci.appveyor.com/project/simgrid/simgrid
 
-# Documentation: https://www.appveyor.com/docs/
+# Documentation: https://www.appveyor.com/docs/
 #                https://www.appveyor.com/docs/installed-software/
 
-os: Visual Studio 2015
+image:
+  - Visual Studio 2015
+#  - Ubuntu
+
 version: "{build}"
 clone_depth: 1
 
@@ -14,36 +17,45 @@ init:
 - git config --global core.longpaths true
 - git config --global core.autocrlf input
 
+branches:
+  only:
+     - master
+     - appveyor
+
 environment:
   global:
     BOOST_ROOT: C:\Libraries\boost_1_60_0
 
 install:
 # Strawberry perl is the one to work with gcc; AppVeyor provides ActiveState perl, which is the one to work with visual.
-- 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%
+# This package is so outdated and broken that we cannot use it anymore. So we build without perl
+# - 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%
 # Lua 
 #- choco install lua53
 # We need python v3
-- SET PATH=C:\Python35-x64;%PATH% # We need python v3
-# Appveyor does not provide a 64bits mingw-w64, only a 32 bits
-- choco install --limit-output mingw
-- SET PATH=C:\tools\mingw64\bin;%PATH% # Our mingw must be placed before Perl in the path
+- cmd: SET PATH=C:\Python37-x64;%PATH% # We need python v3
+# Use the mingw-w64 provided by Appveyor (must be placed before Perl in the path)
+- cmd: SET PATH=C:\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin\;%PATH%
 # Work around a bug on appveyor where the default sh is not the one I expect
 - rename "C:\Program Files\Git\usr\bin\sh.exe" "sh-ignored.exe"
+# We need pybind11. SimGrid will pick it automatically if the subdir is here
+- cmd: git clone --depth=1 https://github.com/pybind/pybind11.git
 
 build_script:
 - cmake -G "MinGW Makefiles" -Denable_lua=OFF -Denable_documentation=OFF -Denable_java=ON -Denable_smpi=OFF -Denable_mallocators=OFF -Denable_lto=OFF .
-- C:\tools\mingw64\bin\mingw32-make.exe VERBOSE=1
-
+- mingw32-make.exe VERBOSE=1 java-all python-bindings # Only the Java and Python parts
 - ctest --output-on-failure -R java
+# Don't test python, as pybind11 seems too complex for mingw for now (mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1)
+# The observed failure is around the StopRequest exception, that seems badly catched somehow.
+# - ctest --output-on-failure -R python
 
 artifacts:
 - path: simgrid.jar
   name: jarfile
 
-# notifications:
-# - irc: "irc.debian.org#simgrid" # Not implemented by AppVeyor yet :(
-
-
-
+# IRC notifications, even if https://github.com/appveyor/ci/issues/88 is not closed yet
+on_failure:
+  - "python tools/appveyor-irc-notify.py simgrid [{project_name}:{branch}] {short_commit}: \"{message}\" ({author}) {color_red}Failed,Details: {build_url},Commit: {commit_url}"
+#on_success:
+#  - "python tools/appveyor-irc-notify.py simgrid [{project_name}:{branch}] {short_commit}: \"{message}\" ({author}) {color_green}Succeeded,Details: {build_url},Commit: {commit_url}"