• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1environment:
2  matrix:
3    - JOB: "2.7 32-bit"
4      PYTHON_HOME: "C:\\Python27"
5
6    - JOB: "3.7 64-bit"
7      PYTHON_HOME: "C:\\Python37-x64"
8
9branches:
10  only:
11    - master
12    # We want to build wip/* branches since these are not usually used for PRs
13    - /^wip\/.*$/
14    # We want to build version tags as well.
15    - /^\d+\.\d+.*$/
16
17install:
18  # If there is a newer build queued for the same PR, cancel this one.
19  # The AppVeyor 'rollout builds' option is supposed to serve the same
20  # purpose but it is problematic because it tends to cancel builds pushed
21  # directly to master instead of just PR builds (or the converse).
22  # credits: JuliaLang developers.
23  - ps: if ($env:APPVEYOR_PULL_REQUEST_NUMBER -and $env:APPVEYOR_BUILD_NUMBER -ne ((Invoke-RestMethod `
24        https://ci.appveyor.com/api/projects/$env:APPVEYOR_ACCOUNT_NAME/$env:APPVEYOR_PROJECT_SLUG/history?recordsNumber=50).builds | `
25        Where-Object pullRequestId -eq $env:APPVEYOR_PULL_REQUEST_NUMBER)[0].buildNumber) { `
26          throw "There are newer queued builds for this pull request, failing early." }
27
28  # Prepend Python to the PATH of this build
29  - "SET PATH=%PYTHON_HOME%;%PYTHON_HOME%\\Scripts;%PATH%"
30
31  # check that we have the expected version and architecture for Python
32  - "python --version"
33  - "python -c \"import struct; print(struct.calcsize('P') * 8)\""
34
35  # upgrade pip and setuptools to avoid out-of-date warnings
36  - "python -m pip install --disable-pip-version-check --user --upgrade pip setuptools"
37
38  # install the dependencies to run the tests
39  - "python -m pip install tox"
40
41build: false
42
43test_script:
44  # run tests with the current 'python' in %PATH%, and measure test coverage
45  - "tox -e py-cov"
46
47after_test:
48  # upload test coverage to Codecov.io
49  - "tox -e codecov"
50
51notifications:
52  - provider: Email
53    to:
54      - fonttools-dev@googlegroups.com
55    on_build_success: false
56    on_build_failure: true
57    on_build_status_changed: true
58