2016-03-15 20:02:56 +00:00
|
|
|
# adapted from https://packaging.python.org/en/latest/appveyor/
|
|
|
|
|
|
|
|
environment:
|
|
|
|
|
|
|
|
matrix:
|
|
|
|
|
|
|
|
# For Python versions available on Appveyor, see
|
|
|
|
# http://www.appveyor.com/docs/installed-software#python
|
2016-12-14 22:18:10 +00:00
|
|
|
- PYTHON: "C:\\Python27"
|
2016-03-15 20:02:56 +00:00
|
|
|
- PYTHON: "C:\\Python27-x64"
|
|
|
|
# DISTUTILS_USE_SDK: "1"
|
|
|
|
# TOX_TESTENV_PASSENV: "DISTUTILS_USE_SDK INCLUDE LIB"
|
|
|
|
|
|
|
|
install:
|
|
|
|
- |
|
2019-05-13 15:19:15 +00:00
|
|
|
%PYTHON%\python.exe -m pip install -U pip
|
|
|
|
%PYTHON%\python.exe -m pip install wheel tox==3.9.0 virtualenv
|
2016-03-15 20:02:56 +00:00
|
|
|
|
|
|
|
# note:
|
|
|
|
# %PYTHON% has: python.exe
|
|
|
|
# %PYTHON%\Scripts has: pip.exe, tox.exe (and others installed by bare pip)
|
|
|
|
|
2019-02-21 20:20:41 +00:00
|
|
|
# We have a custom "build" system. We don't need MSBuild or whatever.
|
2016-03-15 20:02:56 +00:00
|
|
|
build: off
|
|
|
|
|
2019-02-21 21:01:31 +00:00
|
|
|
# Do not build feature branch with open pull requests. This is documented but
|
|
|
|
# it's not clear it does anything.
|
2019-02-21 20:20:41 +00:00
|
|
|
skip_branch_with_pr: true
|
|
|
|
|
2019-02-21 21:01:31 +00:00
|
|
|
# This, perhaps, is effective.
|
|
|
|
branches:
|
|
|
|
# whitelist
|
|
|
|
only:
|
|
|
|
- 'master'
|
|
|
|
|
|
|
|
skip_commits:
|
|
|
|
files:
|
|
|
|
# The Windows builds are unaffected by news fragments.
|
|
|
|
- 'newsfragments/*'
|
|
|
|
# Also, all this build junk.
|
|
|
|
- '.circleci/*'
|
|
|
|
- '.lgtm.yml'
|
|
|
|
- '.travis.yml'
|
|
|
|
|
2016-03-15 20:02:56 +00:00
|
|
|
# we run from C:\projects\tahoe-lafs
|
|
|
|
|
|
|
|
test_script:
|
|
|
|
# Put your test command here.
|
|
|
|
# Note that you must use the environment variable %PYTHON% to refer to
|
|
|
|
# the interpreter you're using - Appveyor does not do anything special
|
2019-03-14 15:53:45 +00:00
|
|
|
# to put the Python version you want to use on PATH.
|
2016-03-15 20:02:56 +00:00
|
|
|
- |
|
2019-05-13 15:23:04 +00:00
|
|
|
%PYTHON%\Scripts\tox.exe -e coverage
|
2016-03-15 20:02:56 +00:00
|
|
|
|
|
|
|
after_test:
|
2016-12-14 21:58:55 +00:00
|
|
|
# This builds the main tahoe wheel, and wheels for all dependencies.
|
2016-03-15 20:02:56 +00:00
|
|
|
# Again, you only need build.cmd if you're building C extensions for
|
|
|
|
# 64-bit Python 3.3/3.4. And you need to use %PYTHON% to get the correct
|
2018-03-29 20:46:27 +00:00
|
|
|
# interpreter. If _trial_temp still exists, the "pip wheel" fails on
|
|
|
|
# _trial_temp\local_dir (not sure why).
|
2016-03-15 20:02:56 +00:00
|
|
|
- |
|
2018-03-29 20:46:27 +00:00
|
|
|
copy _trial_temp\test.log trial_test_log.txt
|
2017-10-31 17:22:30 +00:00
|
|
|
rd /s /q _trial_temp
|
2016-03-15 20:02:56 +00:00
|
|
|
%PYTHON%\python.exe setup.py bdist_wheel
|
2016-12-14 21:58:55 +00:00
|
|
|
%PYTHON%\python.exe -m pip wheel -w dist .
|
2019-03-14 15:54:00 +00:00
|
|
|
- |
|
2019-03-14 23:25:39 +00:00
|
|
|
%PYTHON%\python.exe -m pip install codecov coverage
|
2019-03-14 23:25:24 +00:00
|
|
|
%PYTHON%\python.exe -m coverage xml -o coverage.xml -i
|
|
|
|
%PYTHON%\python.exe -m codecov -X search -X gcov -f coverage.xml
|
2016-03-15 20:02:56 +00:00
|
|
|
|
|
|
|
artifacts:
|
|
|
|
# bdist_wheel puts your built wheel in the dist directory
|
2016-12-14 21:58:55 +00:00
|
|
|
# "pip wheel -w dist ." puts all the dependency wheels there too
|
2016-12-14 22:18:10 +00:00
|
|
|
# this gives us a zipfile with everything
|
2018-02-08 19:43:51 +00:00
|
|
|
- path: 'dist\*'
|
2018-03-29 20:46:27 +00:00
|
|
|
- path: trial_test_log.txt
|
|
|
|
name: Trial test.log
|
2019-03-12 23:29:41 +00:00
|
|
|
- path: eliot.log
|
|
|
|
name: Eliot test log
|
|
|
|
|
|
|
|
on_failure:
|
|
|
|
# Artifacts are not normally uploaded when the job fails. To get the test
|
|
|
|
# logs, we have to push them ourselves.
|
|
|
|
- ps: Push-AppveyorArtifact _trial_temp\test.log -Filename trial.log
|
|
|
|
- ps: Push-AppveyorArtifact eliot.log -Filename eliot.log
|
2016-03-15 20:02:56 +00:00
|
|
|
|
|
|
|
#on_success:
|
|
|
|
# You can use this step to upload your artifacts to a public website.
|
|
|
|
# See Appveyor's documentation for more details. Or you can simply
|
|
|
|
# access your wheels from the Appveyor "artifacts" tab for your build.
|