trigger:
  batch: true
  branches:
    include:
    - '*'
    exclude:
    - 'spacy.io'

jobs:

- job: 'Test'
  strategy:
    matrix:
      Python27Linux:
        imageName: 'ubuntu-16.04'
        python.version: '2.7'
      Python27Mac:
        imageName: 'macos-10.13'
        python.version: '2.7'
      Python35Linux:
        imageName: 'ubuntu-16.04'
        python.version: '3.5'
      Python35Windows:
        imageName: 'vs2017-win2016'
        python.version: '3.5'
      Python35Mac:
        imageName: 'macos-10.13'
        python.version: '3.5'
      Python36Linux:
        imageName: 'ubuntu-16.04'
        python.version: '3.6'
      Python36Windows:
        imageName: 'vs2017-win2016'
        python.version: '3.6'
      Python36Mac:
        imageName: 'macos-10.13'
        python.version: '3.6'
      Python37Linux:
        imageName: 'ubuntu-16.04'
        python.version: '3.7'
      Python37Windows:
        imageName: 'vs2017-win2016'
        python.version: '3.7'
      Python37Mac:
        imageName: 'macos-10.13'
        python.version: '3.7'
    maxParallel: 4
  pool:
    vmImage: $(imageName)

  steps:
  - task: UsePythonVersion@0
    inputs:
      versionSpec: '$(python.version)'
      architecture: 'x64'

  - script: flake8 . --count --exclude=spacy/compat.py,spacy/lang --select=E901,E999,F821,F822,F823 --show-source --statistics
    displayName: 'flake8'

  - script: |
      python -m pip install --upgrade pip
      pip install -r requirements.txt
    displayName: 'Install dependencies'

  - script:
      python setup.py build_ext --inplace 
      pip install -e .
    displayName: 'Build and install'

  - script: python -m pytest --tb=native spacy
    displayName: 'Run tests'

Set up CI with Azure Pipelines
Set up CI with Azure Pipelines