trigger: batch: true branches: include: - "*" exclude: - "spacy.io" - "nightly.spacy.io" - "v2.spacy.io" paths: exclude: - "website/*" - "*.md" - "*.mdx" - ".github/workflows/*" pr: paths: exclude: - "*.md" - "*.mdx" - "website/docs/*" - "website/src/*" - "website/meta/*.tsx" - "website/meta/*.mjs" - "website/meta/languages.json" - "website/meta/site.json" - "website/meta/sidebars.json" - "website/meta/type-annotations.json" - "website/pages/*" - ".github/workflows/*" jobs: # Check formatting and linting. Perform basic checks for most important errors # (syntax etc.) Uses the config defined in setup.cfg and overwrites the # selected codes. - job: "Validate" pool: vmImage: "ubuntu-latest" steps: - task: UsePythonVersion@0 inputs: versionSpec: "3.8" - script: | pip install black -c requirements.txt python -m black spacy --check displayName: "black" - script: | pip install flake8==5.0.4 python -m flake8 spacy --count --select=E901,E999,F821,F822,F823,W605 --show-source --statistics displayName: "flake8" - job: "Test" dependsOn: "Validate" strategy: matrix: # We're only running one platform per Python version to speed up builds # Python38Linux: # imageName: "ubuntu-latest" # python.version: "3.8" # Python38Windows: # imageName: "windows-latest" # python.version: "3.8" Python38Mac: imageName: "macos-latest" python.version: "3.8" Python39Linux: imageName: "ubuntu-latest" python.version: "3.9" # Python39Windows: # imageName: "windows-latest" # python.version: "3.9" # Python39Mac: # imageName: "macos-latest" # python.version: "3.9" # Python310Linux: # imageName: "ubuntu-latest" # python.version: "3.10" Python310Windows: imageName: "windows-latest" python.version: "3.10" # Python310Mac: # imageName: "macos-latest" # python.version: "3.10" Python311Linux: imageName: 'ubuntu-latest' python.version: '3.11' Python311Windows: imageName: 'windows-latest' python.version: '3.11' Python311Mac: imageName: 'macos-latest' python.version: '3.11' maxParallel: 4 pool: vmImage: $(imageName) steps: - template: .github/azure-steps.yml parameters: python_version: '$(python.version)'