2019-03-09 02:19:03 +03:00
|
|
|
trigger:
|
|
|
|
batch: true
|
|
|
|
branches:
|
|
|
|
include:
|
|
|
|
- '*'
|
|
|
|
exclude:
|
|
|
|
- 'spacy.io'
|
2019-03-09 14:56:39 +03:00
|
|
|
paths:
|
|
|
|
exclude:
|
|
|
|
- 'website/*'
|
|
|
|
- '*.md'
|
2019-10-23 15:31:09 +03:00
|
|
|
pr:
|
|
|
|
paths:
|
|
|
|
exclude:
|
|
|
|
- 'website/*'
|
|
|
|
- '*.md'
|
2019-03-09 02:19:03 +03:00
|
|
|
|
|
|
|
jobs:
|
|
|
|
|
2019-03-09 04:56:20 +03:00
|
|
|
# Perform basic checks for most important errors (syntax etc.) Uses the config
|
|
|
|
# defined in .flake8 and overwrites the selected codes.
|
|
|
|
- job: 'Validate'
|
2019-03-09 04:59:29 +03:00
|
|
|
pool:
|
2021-06-07 11:25:36 +03:00
|
|
|
vmImage: 'ubuntu-18.04'
|
2019-03-09 04:56:20 +03:00
|
|
|
steps:
|
2019-03-09 04:59:29 +03:00
|
|
|
- task: UsePythonVersion@0
|
|
|
|
inputs:
|
|
|
|
versionSpec: '3.7'
|
2019-03-09 04:56:20 +03:00
|
|
|
- script: |
|
|
|
|
pip install flake8
|
|
|
|
python -m flake8 spacy --count --select=E901,E999,F821,F822,F823 --show-source --statistics
|
|
|
|
displayName: 'flake8'
|
|
|
|
|
2019-03-09 02:19:03 +03:00
|
|
|
- job: 'Test'
|
2019-03-09 04:56:20 +03:00
|
|
|
dependsOn: 'Validate'
|
2019-03-09 02:19:03 +03:00
|
|
|
strategy:
|
|
|
|
matrix:
|
|
|
|
Python35Linux:
|
2021-06-07 11:25:36 +03:00
|
|
|
imageName: 'ubuntu-18.04'
|
2019-03-09 02:19:03 +03:00
|
|
|
python.version: '3.5'
|
2020-12-08 09:29:34 +03:00
|
|
|
os: linux
|
2019-03-09 02:19:03 +03:00
|
|
|
Python35Windows:
|
|
|
|
imageName: 'vs2017-win2016'
|
|
|
|
python.version: '3.5'
|
2020-12-08 09:29:34 +03:00
|
|
|
# Test on one OS per python 3.6/3.7/3.8 to speed up CI
|
2019-03-09 02:19:03 +03:00
|
|
|
Python36Linux:
|
2021-06-07 11:25:36 +03:00
|
|
|
imageName: 'ubuntu-18.04'
|
2019-03-09 02:19:03 +03:00
|
|
|
python.version: '3.6'
|
2020-12-08 09:29:34 +03:00
|
|
|
# Python36Windows:
|
|
|
|
# imageName: 'vs2017-win2016'
|
|
|
|
# python.version: '3.6'
|
|
|
|
# Python36Mac:
|
|
|
|
# imageName: 'macos-10.14'
|
|
|
|
# python.version: '3.6'
|
|
|
|
# Python37Linux:
|
2021-06-07 11:25:36 +03:00
|
|
|
# imageName: 'ubuntu-18.04'
|
2020-12-08 09:29:34 +03:00
|
|
|
# python.version: '3.7'
|
2020-11-23 11:45:18 +03:00
|
|
|
Python37Windows:
|
|
|
|
imageName: 'vs2017-win2016'
|
|
|
|
python.version: '3.7'
|
2020-12-08 09:29:34 +03:00
|
|
|
# Python37Mac:
|
|
|
|
# imageName: 'macos-10.14'
|
|
|
|
# python.version: '3.7'
|
|
|
|
# Python38Linux:
|
2021-06-07 11:25:36 +03:00
|
|
|
# imageName: 'ubuntu-18.04'
|
2020-12-08 09:29:34 +03:00
|
|
|
# python.version: '3.8'
|
|
|
|
# Python38Windows:
|
|
|
|
# imageName: 'vs2017-win2016'
|
|
|
|
# python.version: '3.8'
|
2019-11-15 03:13:48 +03:00
|
|
|
Python38Mac:
|
2020-03-23 21:52:57 +03:00
|
|
|
imageName: 'macos-10.14'
|
2019-11-15 03:13:48 +03:00
|
|
|
python.version: '3.8'
|
2020-11-23 11:45:18 +03:00
|
|
|
Python39Linux:
|
2021-06-07 11:25:36 +03:00
|
|
|
imageName: 'ubuntu-18.04'
|
2020-11-23 11:45:18 +03:00
|
|
|
python.version: '3.9'
|
|
|
|
Python39Windows:
|
|
|
|
imageName: 'vs2017-win2016'
|
|
|
|
python.version: '3.9'
|
|
|
|
Python39Mac:
|
|
|
|
imageName: 'macos-10.14'
|
|
|
|
python.version: '3.9'
|
2019-03-09 02:19:03 +03:00
|
|
|
maxParallel: 4
|
|
|
|
pool:
|
|
|
|
vmImage: $(imageName)
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- task: UsePythonVersion@0
|
|
|
|
inputs:
|
|
|
|
versionSpec: '$(python.version)'
|
|
|
|
architecture: 'x64'
|
|
|
|
|
2020-12-08 17:25:19 +03:00
|
|
|
- script: python -m pip install -U pip setuptools
|
|
|
|
displayName: 'Update pip'
|
|
|
|
|
|
|
|
- script: pip install -r requirements.txt --prefer-binary
|
|
|
|
displayName: 'Install dependencies (python 3.5: prefer binary)'
|
|
|
|
condition: eq(variables['python.version'], '3.5')
|
|
|
|
|
|
|
|
- script: pip install -r requirements.txt
|
2019-03-09 02:19:03 +03:00
|
|
|
displayName: 'Install dependencies'
|
2020-12-08 17:25:19 +03:00
|
|
|
condition: not(eq(variables['python.version'], '3.5'))
|
2019-03-09 02:19:03 +03:00
|
|
|
|
2019-03-09 02:35:41 +03:00
|
|
|
- script: |
|
2020-11-23 11:45:18 +03:00
|
|
|
python setup.py build_ext --inplace -j 2
|
2019-09-28 22:18:52 +03:00
|
|
|
python setup.py sdist --formats=gztar
|
|
|
|
displayName: 'Compile and build sdist'
|
|
|
|
|
|
|
|
- task: DeleteFiles@1
|
|
|
|
inputs:
|
|
|
|
contents: 'spacy'
|
|
|
|
displayName: 'Delete source directory'
|
|
|
|
|
2020-11-23 11:45:18 +03:00
|
|
|
- script: |
|
2020-11-06 15:35:51 +03:00
|
|
|
pip freeze > installed.txt
|
|
|
|
pip uninstall -y -r installed.txt
|
2020-11-23 11:45:18 +03:00
|
|
|
displayName: 'Uninstall all packages'
|
|
|
|
|
2020-12-08 17:25:19 +03:00
|
|
|
- bash: |
|
|
|
|
SDIST=$(python -c "import os;print(os.listdir('./dist')[-1])" 2>&1)
|
|
|
|
pip install dist/$SDIST --prefer-binary
|
|
|
|
displayName: 'Install from sdist (python 3.5: prefer binary)'
|
|
|
|
condition: eq(variables['python.version'], '3.5')
|
2020-12-08 09:29:34 +03:00
|
|
|
|
2020-11-23 11:45:18 +03:00
|
|
|
- bash: |
|
2019-09-28 22:18:52 +03:00
|
|
|
SDIST=$(python -c "import os;print(os.listdir('./dist')[-1])" 2>&1)
|
2020-12-08 09:29:34 +03:00
|
|
|
pip install dist/$SDIST
|
2019-09-28 22:18:52 +03:00
|
|
|
displayName: 'Install from sdist'
|
2020-12-08 17:25:19 +03:00
|
|
|
condition: not(eq(variables['python.version'], '3.5'))
|
2019-03-09 02:19:03 +03:00
|
|
|
|
2020-11-06 15:35:51 +03:00
|
|
|
- script: |
|
|
|
|
pip install -r requirements.txt --prefer-binary
|
|
|
|
python -m pytest --pyargs spacy
|
2021-06-07 11:25:36 +03:00
|
|
|
displayName: 'Run tests'
|
|
|
|
|
|
|
|
- script: |
|
2021-06-04 20:33:42 +03:00
|
|
|
python -m spacy download en_core_web_sm
|
|
|
|
python -c "import spacy; nlp=spacy.load('en_core_web_sm'); doc=nlp('test')"
|
2021-06-07 11:25:36 +03:00
|
|
|
displayName: 'Test download CLI'
|
|
|
|
condition: and(eq(variables['python.version'], '3.9'), eq(variables['imageName'], 'ubuntu-18.04'))
|