# This file automatize the testing of SimGrid on Windows using the appveyor.com continuous integration service # # Build logs: https://ci.appveyor.com/project/simgrid/simgrid # Documentation: https://www.appveyor.com/docs/ # https://www.appveyor.com/docs/installed-software/ image: - Visual Studio 2019 # - Ubuntu version: "{build}" clone_depth: 1 # scripts that are called at very beginning, before repo cloning 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_77_0 install: # Strawberry perl is the one to work with gcc; AppVeyor provides ActiveState perl, which is the one to work with visual. # 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% # We need python v3 - cmd: SET PATH=C:\Python37-x64;%PATH% # We need python v3 # Ugly hack to ignore versions 3.8 and later of Python - rename "C:\Python38-x64\python.exe" "python-ignored.exe" - rename "C:\Python39-x64\python.exe" "python-ignored.exe" - rename "C:\Python310-x64\python.exe" "python-ignored.exe" # Use the mingw-w64 provided by Appveyor (must be placed before Perl in the path) - cmd: SET PATH=C:\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\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 --branch stable --depth=1 https://github.com/pybind/pybind11.git before_build: - cmd: if not exist C:\"Program Files"\Eigen\include\eigen3\Eigen\Core ( curl -LO https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.tar.gz && cmake -E tar zxf eigen-3.4.0.tar.gz && cd eigen-3.4.0 && mkdir build && cd build && cmake -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=C:\projects .. && cmake --build . --target install && cd ..\.. ) else (echo Using cached Eigen3) build_script: - cmake -G "MinGW Makefiles" -Denable_documentation=OFF -Denable_java=ON -Denable_msg=ON -Denable_smpi=OFF -Denable_mallocators=OFF -Denable_lto=OFF . - mingw32-make.exe VERBOSE=1 java-all python-bindings # Only the Java and Python parts - ctest --output-on-failure -R java - ctest --output-on-failure -R python artifacts: - path: simgrid.jar name: jarfile # 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}"