diff --git a/azure-pipelines.yml b/azure-pipelines.yml new file mode 100644 index 000000000..ce200cc11 --- /dev/null +++ b/azure-pipelines.yml @@ -0,0 +1,75 @@ +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' + + # Downgrading pip is necessary to prevent a wheel version incompatiblity. + # Might be fixed in the future or some other way, so investigate again. + - script: | + python -m pip install --upgrade pip==18.1 + pip install -r requirements.txt + displayName: 'Install dependencies' + + # Perform basic checks for most important errors (syntax etc.) Uses the config + # defined in .flake8 and overwrites the selected codes. + - script: python -m flake8 spacy --count --select=E901,E999,F821,F822,F823 --show-source --statistics + displayName: 'flake8' + + - script: | + python setup.py build_ext --inplace + pip install -e . + displayName: 'Build and install' + + - script: python -m pytest --tb=native spacy + displayName: 'Run tests'