Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Also ignore the brand new python 3.11 on appveyor
[simgrid.git] / .appveyor.yml
1 # This file automatize the testing of SimGrid on Windows using the appveyor.com continuous integration service
2 #
3 # Build logs: https://ci.appveyor.com/project/simgrid/simgrid
4
5 # Documentation: https://www.appveyor.com/docs/
6 #                https://www.appveyor.com/docs/installed-software/
7
8 image:
9   - Visual Studio 2019
10 #  - Ubuntu
11
12 version: "{build}"
13 clone_depth: 1
14
15 # scripts that are called at very beginning, before repo cloning
16 init:
17 - git config --global core.longpaths true
18 - git config --global core.autocrlf input
19
20 branches:
21   only:
22      - master
23      - appveyor
24
25 environment:
26   global:
27     BOOST_ROOT: C:\Libraries\boost_1_77_0
28
29 install:
30 # Strawberry perl is the one to work with gcc; AppVeyor provides ActiveState perl, which is the one to work with visual.
31 # This package is so outdated and broken that we cannot use it anymore. So we build without perl
32 # - choco install --limit-output strawberryperl --version 5.20.1.1
33 # - SET PATH=C:\strawberry\c\bin;C:\strawberry\perl\site\bin;C:\strawberry\perl\bin;%PATH%
34 # We need python v3
35 - cmd: SET PATH=C:\Python37-x64;%PATH% # We need python v3
36 # Ugly hack to ignore versions 3.8 and later of Python
37 - rename "C:\Python38-x64\python.exe" "python-ignored.exe"
38 - rename "C:\Python39-x64\python.exe" "python-ignored.exe"
39 - rename "C:\Python310-x64\python.exe" "python-ignored.exe"
40 - rename "C:\Python311-x64\python.exe" "python-ignored.exe"
41 # Use the mingw-w64 provided by Appveyor (must be placed before Perl in the path)
42 - cmd: SET PATH=C:\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin\;%PATH%
43 # Work around a bug on appveyor where the default sh is not the one I expect
44 - rename "C:\Program Files\Git\usr\bin\sh.exe" "sh-ignored.exe"
45 # We need pybind11. SimGrid will pick it automatically if the subdir is here
46 - cmd: git clone --branch stable --depth=1 https://github.com/pybind/pybind11.git
47
48 before_build:
49   - cmd: if not exist C:\"Program Files"\Eigen\include\eigen3\Eigen\Core (
50             curl -LO https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.tar.gz &&
51             cmake -E tar zxf eigen-3.4.0.tar.gz &&
52             cd eigen-3.4.0 &&
53             mkdir build &&
54             cd build &&
55             cmake -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=C:\projects .. &&
56             cmake --build . --target install &&
57             cd ..\..
58          ) else (echo Using cached Eigen3)
59
60 build_script:
61 - cmake -G "MinGW Makefiles" -Denable_documentation=OFF -Denable_java=ON -Denable_msg=ON -Denable_smpi=OFF -Denable_mallocators=OFF -Denable_lto=OFF .
62 - mingw32-make.exe VERBOSE=1 java-all python-bindings # Only the Java and Python parts
63 - ctest --output-on-failure -R java
64 - ctest --output-on-failure -R python
65
66 artifacts:
67 - path: simgrid.jar
68   name: jarfile
69
70 # IRC notifications, even if https://github.com/appveyor/ci/issues/88 is not closed yet
71 on_failure:
72   - "python tools/appveyor-irc-notify.py simgrid [{project_name}:{branch}] {short_commit}: \"{message}\" ({author}) {color_red}Failed,Details: {build_url},Commit: {commit_url}"
73 #on_success:
74 #  - "python tools/appveyor-irc-notify.py simgrid [{project_name}:{branch}] {short_commit}: \"{message}\" ({author}) {color_green}Succeeded,Details: {build_url},Commit: {commit_url}"