version: '{build}' # use an image with recent Mingw-w64 versions available on both architectures: https://www.appveyor.com/docs/windows-images-software/#mingw-msys-cygwin image: Visual Studio 2015 environment: # disable LFS file downloading during regular cloning GIT_LFS_SKIP_SMUDGE: 1 cache: - NimBinaries matrix: # We always want 32-bit and 64-bit compilation fast_finish: false platform: - x86 - x64 # when multiple CI builds are queued, the tested commit needs to be in the last X commits cloned with "--depth X" clone_depth: 10 init: # disable cache saving outside the master branch - ps: IF ("$env:APPVEYOR_REPO_BRANCH" -ne "master") { $env:APPVEYOR_CACHE_SKIP_SAVE = "true" } install: - git submodule update --init --recursive # use the newest versions documented here: https://www.appveyor.com/docs/windows-images-software/#mingw-msys-cygwin - IF "%PLATFORM%" == "x86" SET PATH=C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin;%PATH% - IF "%PLATFORM%" == "x64" SET PATH=C:\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin;%PATH% build_script: # the 32-bit build is done on a 64-bit image, so we need to override the architecture - mingw32-make -j2 ARCH_OVERRIDE=%PLATFORM% CI_CACHE=NimBinaries update - mingw32-make -j2 ARCH_OVERRIDE=%PLATFORM% fetch-dlls - dir C:\mingw-w64 test_script: - mingw32-make -j2 ARCH_OVERRIDE=%PLATFORM% - build\nimbus.exe --help - mingw32-make -j2 ARCH_OVERRIDE=%PLATFORM% test - IF "%PLATFORM%" == "x64" mingw32-make -j2 test-reproducibility # Disable libnimbus builds until https://github.com/nim-lang/Nim/issues/12759 is fixed. # Wrapper builds could then also get activated instead but need some rework for Windows. # The "go-checks" target fails in AppVeyor, for some reason; easier to disable than to debug. # - mingw32-make -j2 ARCH_OVERRIDE=%PLATFORM% DISABLE_GO_CHECKS=1 libnimbus.so # - mingw32-make -j2 ARCH_OVERRIDE=%PLATFORM% DISABLE_GO_CHECKS=1 libnimbus.a - mingw32-make -j2 ARCH_OVERRIDE=%PLATFORM% wakusim deploy: off