| environment: |
| matrix: |
| - JOB: "2.7 32-bit" |
| PYTHON_HOME: "C:\\Python27" |
| |
| - JOB: "3.7 64-bit" |
| PYTHON_HOME: "C:\\Python37-x64" |
| |
| branches: |
| only: |
| - master |
| # We want to build wip/* branches since these are not usually used for PRs |
| - /^wip\/.*$/ |
| # We want to build version tags as well. |
| - /^\d+\.\d+.*$/ |
| |
| install: |
| # If there is a newer build queued for the same PR, cancel this one. |
| # The AppVeyor 'rollout builds' option is supposed to serve the same |
| # purpose but it is problematic because it tends to cancel builds pushed |
| # directly to master instead of just PR builds (or the converse). |
| # credits: JuliaLang developers. |
| - ps: if ($env:APPVEYOR_PULL_REQUEST_NUMBER -and $env:APPVEYOR_BUILD_NUMBER -ne ((Invoke-RestMethod ` |
| https://ci.appveyor.com/api/projects/$env:APPVEYOR_ACCOUNT_NAME/$env:APPVEYOR_PROJECT_SLUG/history?recordsNumber=50).builds | ` |
| Where-Object pullRequestId -eq $env:APPVEYOR_PULL_REQUEST_NUMBER)[0].buildNumber) { ` |
| throw "There are newer queued builds for this pull request, failing early." } |
| |
| # Prepend Python to the PATH of this build |
| - "SET PATH=%PYTHON_HOME%;%PYTHON_HOME%\\Scripts;%PATH%" |
| |
| # check that we have the expected version and architecture for Python |
| - "python --version" |
| - "python -c \"import struct; print(struct.calcsize('P') * 8)\"" |
| |
| # upgrade pip and setuptools to avoid out-of-date warnings |
| - "python -m pip install --disable-pip-version-check --user --upgrade pip setuptools virtualenv" |
| |
| # install the dependencies to run the tests |
| - "python -m pip install tox" |
| |
| build: false |
| |
| test_script: |
| # run tests with the current 'python' in %PATH%, and measure test coverage |
| - "tox -e py-cov" |
| |
| after_test: |
| # upload test coverage to Codecov.io |
| - "tox -e codecov" |
| |
| notifications: |
| - provider: Email |
| to: |
| - fonttools-[email protected] |
| on_build_success: false |
| on_build_failure: true |
| on_build_status_changed: true |