# https://ci.appveyor.com/project/cython/cython

environment:

  global:
    # SDK v7.0 MSVC Express 2008's SetEnv.cmd script will fail if the
    # /E:ON and /V:ON options are not enabled in the batch script interpreter
    # See: https://stackoverflow.com/questions/11267463/compiling-python-modules-on-windows-x64/13751649#13751649
    WITH_ENV: "cmd /E:ON /V:ON /C .\\appveyor\\run_with_env.cmd"
    BACKEND: c

  matrix:
    - PYTHON: "C:\\Python27"
      PYTHON_VERSION: "2.7"
      PYTHON_ARCH: "32"

    - PYTHON: "C:\\Python27-x64"
      PYTHON_VERSION: "2.7"
      PYTHON_ARCH: "64"

    - PYTHON: "C:\\Python38"
      PYTHON_VERSION: "3.8"
      PYTHON_ARCH: "32"

    - PYTHON: "C:\\Python38-x64"
      PYTHON_VERSION: "3.8"
      PYTHON_ARCH: "64"

    - PYTHON: "C:\\Python37"
      PYTHON_VERSION: "3.7"
      PYTHON_ARCH: "32"

    - PYTHON: "C:\\Python37-x64"
      PYTHON_VERSION: "3.7"
      PYTHON_ARCH: "64"

    - PYTHON: "C:\\Python37-x64"
      PYTHON_VERSION: "3.7"
      PYTHON_ARCH: "64"
      BACKEND: cpp

    - PYTHON: "C:\\Python36"
      PYTHON_VERSION: "3.6"
      PYTHON_ARCH: "32"

    - PYTHON: "C:\\Python36-x64"
      PYTHON_VERSION: "3.6"
      PYTHON_ARCH: "64"

    - PYTHON: "C:\\Python35"
      PYTHON_VERSION: "3.5"
      PYTHON_ARCH: "32"

    - PYTHON: "C:\\Python35-x64"
      PYTHON_VERSION: "3.5"
      PYTHON_ARCH: "64"

    - PYTHON: "C:\\Python34"
      PYTHON_VERSION: "3.4"
      PYTHON_ARCH: "32"

    - PYTHON: "C:\\Python34-x64"
      PYTHON_VERSION: "3.4"
      PYTHON_ARCH: "64"

    - PYTHON: "C:\\Python27-x64"
      PYTHON_VERSION: "2.7"
      PYTHON_ARCH: "64"
      BACKEND: cpp

clone_depth: 5

branches:
  only:
    - master
    - release

init:
  - "ECHO Python %PYTHON_VERSION% (%PYTHON_ARCH%bit) from %PYTHON%"

install:
  - "powershell appveyor\\install.ps1"
  - "%PYTHON%\\python.exe --version"
  - "%PYTHON%\\Scripts\\pip.exe --version"
  - "%PYTHON%\\Scripts\\wheel.exe version"

build: off
build_script:
  - "%WITH_ENV% %PYTHON%\\python.exe setup.py build_ext --inplace"
  - "%WITH_ENV% %PYTHON%\\python.exe setup.py bdist_wheel"

test: off
test_script:
  - "%PYTHON%\\Scripts\\pip.exe install -r test-requirements.txt"
  - "set CFLAGS=/Od /W3"
  - "%WITH_ENV% %PYTHON%\\python.exe runtests.py -vv --backend=%BACKEND% --no-code-style -j5"

artifacts:
  - path: dist\*

cache:
  - C:\Downloads\Cython -> appveyor\install.ps1

#on_success:
#  - TODO: upload the content of dist/*.whl to a public wheelhouse
