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

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

install:
  # 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:
  - cd C:\projects\%APPVEYOR_PROJECT_SLUG%
  # 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
  - mingw32-make -C vendor/nim-beacon-chain -j2 test

deploy: off