forked from pyinstaller/pyinstaller
-
Notifications
You must be signed in to change notification settings - Fork 0
/
appveyor.yml
127 lines (105 loc) · 4.62 KB
/
appveyor.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# As config example taken this file: https://github.com/ogrisel/python-appveyor-demo/blob/master/appveyor.yml
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 .\\tests\\scripts\\appveyor\\run_with_env.cmd"
PIP_ACCEL_LOG_FORMAT: "%(name)-18s %(levelname)s %(message)s"
matrix:
# TODO Fix bootloader compilation of 64bit bootloader - either fix for msvc or install mingw-w64
# Pre-installed Python versions, which Appveyor may upgrade to
# a later point release.
# - PYTHON: "C:\\Python34-x64"
# PYTHON_VERSION: "3.4"
# PYTHON_ARCH: "64"
# # This forces to build bootloader with MSVC.
# # Appveyor does not have 64-bit mingw.
# WAF_ARGS: ""
#
# - PYTHON: "C:\\Python33-x64"
# PYTHON_VERSION: "3.3"
# PYTHON_ARCH: "64"
# WAF_ARGS: ""
# TODO Enable Python 3.5 one day. Issue #1547.
#- PYTHON: "C:\\Python35"
#PYTHON_VERSION: "3.5"
#PYTHON_ARCH: "32"
#WAF_ARGS: "--gcc"
- PYTHON: "C:\\Python34"
PYTHON_VERSION: "3.4"
PYTHON_ARCH: "32"
#WAF_ARGS: "--gcc"
# TODO use temporily msvc to compile bootloader until mingw-w64 is natively supported by Appveyor.
WAF_ARGS: ""
- PYTHON: "C:\\Python33"
PYTHON_VERSION: "3.3"
PYTHON_ARCH: "32"
#WAF_ARGS: "--gcc"
# TODO use temporily msvc to compile bootloader until mingw-w64 is natively supported by Appveyor.
WAF_ARGS: ""
- PYTHON: "C:\\Python27"
PYTHON_VERSION: "2.7"
PYTHON_ARCH: "32"
#WAF_ARGS: "--gcc"
# TODO use temporily msvc to compile bootloader until mingw-w64 is natively supported by Appveyor.
WAF_ARGS: ""
cache:
# 'pip-accel' requires caching of downloaded pip packages.
- C:\Users\appveyor\AppData\Local\pip
# Cache binary Python packages e.g. numpy, pycrypto
- C:\Users\appveyor\.pip-accel
# Cache downloaded mingw-w64 - it might take 5 min. in appveyor.
# TODO Remove mingw-w64 caching when it is natively supported by apppveyor:
# https://github.com/appveyor/ci/issues/466
# TODO mingw-w64 caching takes a lot of time - unpacking/zipping 15000 files.
#- C:\tools\mingw32
init:
- "ECHO %PYTHON% %PYTHON_VERSION% %PYTHON_ARCH%"
install:
- ECHO "Filesystem root:"
- ps: "ls \"C:/\""
- ECHO "Chocolatey tools:"
- ps: "ls \"C:/Tools\""
- ECHO "Installed SDKs:"
- ps: "ls \"C:/Program Files/Microsoft SDKs/Windows\""
# 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%;%PYTHON%\\Scripts;%PATH%"
# Check that we have the expected version and architecture for Python
- "python --version"
- "python -c \"import struct; print(struct.calcsize('P') * 8)\""
# Install 32bit mingw-w64. Bootloader can be compiled only with mingw-w64.
# Install only if it is not cached from previous runs.
# TODO use temporily msvc to compile bootloader until mingw-w64 is natively supported by Appveyor.
# It takes a lot of time to install mingw-w64.
#
# https://github.com/appveyor/ci/issues/466
#
#- ps: If ( -not ( Test-Path C:/tools/mingw32 ) ) { choco install -y mingw -x86 }
# Compile bootloader, use 32bit mingw-w64.
- "SET PATH=C:\\tools\\mingw32\\bin;%PATH%"
- cd bootloader
- "python waf --msvc_version=\"msvc 12.0\" distclean all %WAF_ARGS%"
- cd ..
### Install the PyInsaller dependencies.
# Install pip-accel to cache pypi packages and avoid compiling some packages.
# (numpy or pycrypto take a lot of tome to compile).
#
# TODO Use upstream version when windows support is merged.
# Windows support is not yet merged upstream so use own 'pip-accel' fork:
# https://github.com/paylogic/pip-accel/pull/60
- "%CMD_IN_ENV% pip install git+https://github.com/matysek/pip-accel.git"
# Install lxml from anaconda.org channel since PyPI fails (or it takes too long).
# See: https://github.com/pyinstaller/pyinstaller/pull/1638
- "%CMD_IN_ENV% pip-accel install -i https://pypi.anaconda.org/giumas/simple lxml"
# Install the PyInstaller test dependencies.
- "%CMD_IN_ENV% pip-accel install --disable-pip-version-check --timeout 5 --retries 2 -r tests/requirements-win.txt"
# Install PyInstaller into virtualenv.
- "%CMD_IN_ENV% pip install -e ."
build: none
test_script:
# Split tests into several subprocesses.
# Run unitttest first.
- "%CMD_IN_ENV% py.test -n 3 --maxfail 5 --durations=10 tests\\unit tests"