parameters:
  vmImage:

jobs:
- job: Test_Primary
  displayName: Tests /

  pool:
    vmImage: ${{ parameters.vmImage }}
  strategy:
    matrix:
      "2.7-x86":
        python.version: '2.7'
        python.architecture: x86
      "2.7":  # because Python 2!
        python.version: '2.7'
        python.architecture: x64
      "3.5":  # lowest Py3 version
        python.version: '3.5'
        python.architecture: x64
      "3.8":  # current
        python.version: '3.8'
        python.architecture: x64
    maxParallel: 6

  steps:
  - template: ../steps/run-tests-windows.yml
    parameters:
      runIntegrationTests: true

- job: Test_Secondary
  displayName: Tests /
  # Don't run integration tests for these runs
  # Run after Test_Primary so we don't devour time and jobs if tests are going to fail
  dependsOn: Test_Primary

  pool:
    vmImage: ${{ parameters.vmImage }}
  strategy:
    matrix:
      "3.6":
        python.version: '3.6'
        python.architecture: x64
      "3.7":
        python.version: '3.7'
        python.architecture: x64
      # This is for Windows, so test x86 builds
      "3.5-x86":
        python.version: '3.5'
        python.architecture: x86
      "3.6-x86":
        python.version: '3.6'
        python.architecture: x86
      "3.7-x86":
        python.version: '3.7'
        python.architecture: x86
      "3.8-x86":
        python.version: '3.8'
        python.architecture: x86
    maxParallel: 6

  steps:
  - template: ../steps/run-tests-windows.yml
    parameters:
      runIntegrationTests: false
