89 lines
3.1 KiB
YAML
89 lines
3.1 KiB
YAML
#
|
|
# Some help for Python on AppVeyor:
|
|
# * https://packaging.python.org/appveyor/
|
|
# * https://ci.appveyor.com/tools/validate-yaml
|
|
|
|
version: '{branch}-{build}'
|
|
|
|
# No need for Python.
|
|
build: off
|
|
# We don't report the test in XUnit tests or any other format supported by
|
|
# AppVeyor.
|
|
test: off
|
|
|
|
# Don't build branch if there is an open PR, to prevent double builds.
|
|
# For now, Appveyor will only build PR commits and not commits to master or
|
|
# commits on random branches without an associated PR.
|
|
skip_branch_with_pr: true
|
|
|
|
# Not sure if the cache works.
|
|
# Note the use of single quotes around the entire line, when environment
|
|
# variables are used.
|
|
cache:
|
|
- '%LOCALAPPDATA%\pip\Cache'
|
|
|
|
|
|
environment:
|
|
global:
|
|
# SDK v7.0 MSVC Express 2008's SetEnv.cmd script will fail if the
|
|
# /E:ON and /V:ON options are not enabled in the batch script intepreter
|
|
# See: http://stackoverflow.com/a/13751649/163740
|
|
CMD_IN_ENV: "cmd /E:ON /V:ON /C .\\bin\\admin\\run_with_env.cmd"
|
|
|
|
# Only use pre-installed Python versions, which Appveyor may upgrade to
|
|
# a later point release.
|
|
# See: http://www.appveyor.com/docs/installed-software#python
|
|
matrix:
|
|
- PYTHON_HOME: C:\\PYTHON36-x64
|
|
PYTHON_VERSION: "3.6"
|
|
PYTHON_ARCH: "64"
|
|
TOXENV: wheels
|
|
|
|
|
|
install:
|
|
# Install OpenSSH through chocolatey
|
|
- "choco install openssh -confirm"
|
|
- "refreshenv"
|
|
|
|
# Prepend newly installed Python to the PATH of this build (this cannot be
|
|
# done from inside the powershell script as it would require to restart
|
|
# the parent CMD process).
|
|
- "SET PATH=%PYTHON_HOME%;%PYTHON_HOME%\\Scripts;%PATH%"
|
|
- "SET LIB=%PYTHON_HOME%\\lib;%LIB%"
|
|
|
|
# The following line is inspired by http://nedbatchelder.com/blog/201509/appveyor.html
|
|
# Tox has an internal mapping of where to find python.exe. Unfortunately,
|
|
# this internal mapping is not the same as the Appveyor build host, which has
|
|
# to install separate python.exe in different directories for 32-bit and 64-bit.
|
|
# We write out a .bat file which invokes the correct python.exe. tox will invoke
|
|
# this .at file. This issue becomes important because linking to python.lib
|
|
# will fail without this.
|
|
- "python -c \"import os; open('python{0}.bat'.format(os.environ['PYTHON_VERSION']), 'w').write('@{0}\\\\python \\x25*\\n'.format(os.environ['PYTHON_HOME']))\""
|
|
- "type python*.bat"
|
|
|
|
# Get some information about the build environment.
|
|
# Uncomment them. Left here so that you don't have to search the net for
|
|
# how to run such command on Windows :)
|
|
# - ps: "ls \"C:/\""
|
|
# - ps: "ls \"C:/Program Files/Microsoft SDKs/Windows\""
|
|
# - ps: echo $env:PYTHON $env:TOXENV
|
|
# Check that we have the expected version and architecture for Python
|
|
- "python -c \"import sys; print(sys.prefix)\""
|
|
- "python -c \"import sys; print(sys.exec_prefix)\""
|
|
- "python -c \"import sys; print(sys.executable)\""
|
|
- "python --version"
|
|
- "python -c \"import struct; print(struct.calcsize('P') * 8)\""
|
|
|
|
# The build system itself is handled by tox.
|
|
- "python -m pip install -U pip"
|
|
- "python -m pip install tox"
|
|
|
|
|
|
test_script:
|
|
- "%CMD_IN_ENV% python -m tox -e %TOXENV%"
|
|
|
|
|
|
artifacts:
|
|
- path: "wheelhouse\\*.whl"
|
|
name: Wheels
|