trigger: batch: true branches: include: - "*" exclude: - "spacy.io" - "nightly.spacy.io" - "v2.spacy.io" paths: exclude: - "website/*" - "*.md" pr: paths: exclude: - "website/*" - "*.md" jobs: # Perform basic checks for most important errors (syntax etc.) Uses the config # defined in .flake8 and overwrites the selected codes. - job: "Validate" pool: vmImage: "ubuntu-16.04" steps: - task: UsePythonVersion@0 inputs: versionSpec: "3.7" - script: | pip install flake8==3.5.0 python -m flake8 spacy --count --select=E901,E999,F821,F822,F823 --show-source --statistics displayName: "flake8" - job: "Test" dependsOn: "Validate" strategy: matrix: # We're only running one platform per Python version to speed up builds Python36Linux: imageName: "ubuntu-16.04" python.version: "3.6" # Python36Windows: # imageName: "vs2017-win2016" # python.version: "3.6" # Python36Mac: # imageName: "macos-10.14" # 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.14" # python.version: "3.7" # Python38Linux: # imageName: "ubuntu-16.04" # python.version: "3.8" # Python38Windows: # imageName: "vs2017-win2016" # python.version: "3.8" Python38Mac: imageName: "macos-10.14" python.version: "3.8" Python39Linux: imageName: "ubuntu-16.04" python.version: "3.9" Python39Windows: imageName: "vs2017-win2016" python.version: "3.9" Python39Mac: imageName: "macos-10.14" python.version: "3.9" maxParallel: 4 pool: vmImage: $(imageName) steps: - task: UsePythonVersion@0 inputs: versionSpec: "$(python.version)" architecture: "x64" - script: | python -m pip install -U setuptools pip install -r requirements.txt displayName: "Install dependencies" - script: | python setup.py build_ext --inplace python setup.py sdist --formats=gztar displayName: "Compile and build sdist" - task: DeleteFiles@1 inputs: contents: "spacy" displayName: "Delete source directory" - script: | pip freeze > installed.txt pip uninstall -y -r installed.txt displayName: "Uninstall all packages" - bash: | SDIST=$(python -c "import os;print(os.listdir('./dist')[-1])" 2>&1) pip install dist/$SDIST displayName: "Install from sdist" - script: | pip install -r requirements.txt python -m pytest --pyargs spacy displayName: "Run tests"