version: 1.0.{build}.{branch}

matrix:
  fast_finish: true

environment:
  matrix:

    # Pre-installed Python versions, which AppVeyor may upgrade to
    # a later point release.
    # See: http://www.appveyor.com/docs/installed-software#python

    - PYTHON: "C:\\Python35"
      NOX_SESSION: "tests-3.5"

    - PYTHON: "C:\\Python35-x64"
      NOX_SESSION: "tests-3.5"

    - PYTHON: "C:\\Python36"
      NOX_SESSION: "tests-3.6"

    - PYTHON: "C:\\Python36-x64"
      NOX_SESSION: "tests-3.6"

    - PYTHON: "C:\\Python37"
      NOX_SESSION: "tests-3.7"

    - PYTHON: "C:\\Python37-x64"
      NOX_SESSION: "tests-3.7"

install:
  # Prepend newly installed Python to the PATH of this build (this cannot be
  # done from inside the powershell script as it would require to restart
  # the parent CMD process).
  - "SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%"

  # Check that we have the expected version and architecture for Python
  - "python --version"
  - "python -c \"import struct; print(struct.calcsize('P') * 8)\""

  # Upgrade to the latest version of pip to avoid it displaying warnings
  # about it being out of date.
  - "python -m pip install --disable-pip-version-check --user --upgrade pip"

  # Install the build dependencies of the project. If some dependencies contain
  # compiled extensions and are not provided as pre-built wheel packages,
  # pip will build them from source using the MSVC compiler matching the
  # target Python version and architecture
  - "pip install wheel"

# init:
#   - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))

# on_finish:
#   - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))

build_script:
  - "pip install ."

test_script:
  # Run the project tests
  - "nox.exe --session \"%NOX_SESSION%\""
