mirror of
https://github.com/explosion/spaCy.git
synced 2024-11-11 04:08:09 +03:00
dcecc75270
* Fix blis build dependencies
* Add blis with python_version constraints to pyproject.toml
* Add blis to setup_requires
* Remove --only-binary from CI
* Reduce number of builds to speed up CI
* Add hack to install wheel for python 3.5 in linux
* Remove os spec from CI
* Remove detailed numpy build constraints
* Remove detailed numpy build constraints from `pyproject.toml` because
it is too difficult to maintain for many architectures
* These constraints are more a reflection of what is available on
pypi as binary wheels rather than any real build requirements that
it is necessary for users to follow when building from source
* Users building their own binary packages will need to enforce the
constraints that make sense in their environments, e.g., the `conda`
compatible numpy pins
* Keep the build constraints in `build-constraints.txt` for use with our
builds
* Our builds with wheelwright are built against the earliest
compatible binary versions of numpy on pypi
* These constraints are documented within the distribution
* Revert "Remove os spec from CI"
This reverts commit 7489476688
.
126 lines
3.1 KiB
YAML
126 lines
3.1 KiB
YAML
trigger:
|
|
batch: true
|
|
branches:
|
|
include:
|
|
- '*'
|
|
exclude:
|
|
- '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
|
|
python -m flake8 spacy --count --select=E901,E999,F821,F822,F823 --show-source --statistics
|
|
displayName: 'flake8'
|
|
|
|
- job: 'Test'
|
|
dependsOn: 'Validate'
|
|
strategy:
|
|
matrix:
|
|
Python35Linux:
|
|
imageName: 'ubuntu-16.04'
|
|
python.version: '3.5'
|
|
os: linux
|
|
Python35Windows:
|
|
imageName: 'vs2017-win2016'
|
|
python.version: '3.5'
|
|
# Test on one OS per python 3.6/3.7/3.8 to speed up CI
|
|
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 pip setuptools
|
|
pip install -r requirements.txt --prefer-binary
|
|
displayName: 'Install dependencies'
|
|
|
|
- script: |
|
|
python setup.py build_ext --inplace -j 2
|
|
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'
|
|
|
|
- script: |
|
|
pip install wheel
|
|
condition: and(eq(variables['os'], 'linux'), eq(variables['python.version'], '3.5'))
|
|
displayName: 'Hack: install wheel for python 3.5'
|
|
|
|
- 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 --prefer-binary
|
|
python -m pytest --pyargs spacy
|
|
displayName: 'Run tests'
|