environment:
#  USEMSVC: "1"
  matrix:
  - ARCH: "i686"
    JULIA_TEST_MAXRSS_MB: 500
  - ARCH: "x86_64"
    JULIA_TEST_MAXRSS_MB: 450

# Only build on master and PR's for now, not personal branches
# Whether or not PR's get built is determined in the webhook settings
branches:
  only:
    - master
    - /^release-.*/

# Note: use `[ci skip]` or `[skip ci]` anywhere in the commit message and AppVeyor won't be
# built for that commit. You can use `[skip appveyor]` to explicitly skip AppVeyor and
# allow other CI to still run.
skip_commits:
# Add [av skip] to commit messages for docfixes, etc to reduce load on queue
  message: /\[av skip\]/
# Skip running CI for changes only to the documentation
# https://github.com/JuliaLang/julia/pull/27356#discussion_r192536676
# files:
#   - doc/

notifications:
  - provider: Email
    on_build_success: false
    on_build_failure: false
    on_build_status_changed: false

clone_depth: 50

init:
# Carriage returns are bad
  - git config --global core.autocrlf input

cache:
# Cache large downloads to avoid network unreliability
  - C:\cygdownloads
  - llvm-3.9.1-i686-w64-mingw32-juliadeps-r07.7z
  - llvm-3.9.1-x86_64-w64-mingw32-juliadeps-r07.7z
  - C:\ccache

build_script:
# If there's a newer build queued for the same PR, cancel this one
  - ps: if ($env:APPVEYOR_PULL_REQUEST_NUMBER -and $env:APPVEYOR_BUILD_NUMBER -ne ((Invoke-RestMethod `
        https://ci.appveyor.com/api/projects/$env:APPVEYOR_ACCOUNT_NAME/$env:APPVEYOR_PROJECT_SLUG/history?recordsNumber=50).builds | `
        Where-Object pullRequestId -eq $env:APPVEYOR_PULL_REQUEST_NUMBER)[0].buildNumber) { `
        throw "There are newer queued builds for this pull request, failing early." }
# Remove C:\MinGW\bin from the path, the version of MinGW installed on
# AppVeyor is not compatible with the cross-compiled Julia Windows binaries
  - set PATH=%PATH:C:\MinGW\bin;=%
# Remove git's msys2 from path, since it conflicts with cygwin1.dll
  - set PATH=%PATH:C:\Program Files\Git\usr\bin;=%
  - ps: contrib/windows/install-cygwin.ps1
#  - '"%VS120COMNTOOLS%\..\..\VC\vcvarsall.bat" x86_amd64'
  - C:\cygwin-%ARCH%\bin\sh.exe --login /cygdrive/c/projects/julia/contrib/windows/appveyor_build.sh

test_script:
  - usr\bin\julia -e "Base.require(Main, :InteractiveUtils).versioninfo()"
  - usr\bin\julia --sysimage-native-code=no -e "true"
  - cd julia-* && .\bin\julia.exe --check-bounds=yes share\julia\test\runtests.jl all &&
      .\bin\julia.exe --check-bounds=yes share\julia\test\runtests.jl LibGit2/online Pkg/pkg download
  - cd ..
  - usr\bin\julia usr\share\julia\test\embedding\embedding-test.jl test\embedding\embedding.exe
