This repository has been archived by the owner on Feb 17, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 13
/
appveyor.yml
137 lines (109 loc) · 3.85 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
128
129
130
131
132
133
134
135
136
137
# vim ft=yaml
# CI on Windows via appveyor
# Largely from:
# https://github.com/ogrisel/python-appveyor-demo/blob/master/appveyor.yml
#
# Builds version specified in BUILD_COMMIT variable
# To chose version to build, edit value of BUILD_COMMIT
os: Visual Studio 2015
environment:
global:
# Remember to edit .travis.yml too
BUILD_COMMIT: 3.0.0a9
matrix:
- PYTHON: "C:\\Python39"
PYTHON_VERSION: "3.9.x" # currently 3.9.1
PYTHON_ARCH: "32"
- PYTHON: "C:\\Python39-x64"
PYTHON_VERSION: "3.9.x" # currently 3.9.0
PYTHON_ARCH: "64"
- PYTHON: "C:\\Python38"
PYTHON_VERSION: "3.8.x" # currently 3.8.0
PYTHON_ARCH: "32"
- PYTHON: "C:\\Python38-x64"
PYTHON_VERSION: "3.8.x" # currently 3.8.0
PYTHON_ARCH: "64"
- PYTHON: "C:\\Python37"
PYTHON_VERSION: "3.7.x" # currently 3.7.0
PYTHON_ARCH: "32"
- PYTHON: "C:\\Python37-x64"
PYTHON_VERSION: "3.7.x" # currently 3.7.0
PYTHON_ARCH: "64"
- PYTHON: "C:\\Python27"
PYTHON_VERSION: "2.7.x" # currently 2.7.11
PYTHON_ARCH: "32"
- PYTHON: "C:\\Python27-x64"
PYTHON_VERSION: "2.7.x" # currently 2.7.11
PYTHON_ARCH: "64"
- PYTHON: "C:\\Python36"
PYTHON_VERSION: "3.6.x" # currently 3.6.5
PYTHON_ARCH: "32"
- PYTHON: "C:\\Python36-x64"
PYTHON_VERSION: "3.6.x" # currently 3.6.5
PYTHON_ARCH: "64"
- PYTHON: "C:\\Python35"
PYTHON_VERSION: "3.5.x" # currently 3.5.1
PYTHON_ARCH: "32"
- PYTHON: "C:\\Python35-x64"
PYTHON_VERSION: "3.5.x" # currently 3.5.1
PYTHON_ARCH: "64"
- PYTHON: "C:\\Python34"
PYTHON_VERSION: "3.4.x" # currently 3.4.3
PYTHON_ARCH: "32"
- PYTHON: "C:\\Python34-x64"
PYTHON_VERSION: "3.4.x" # currently 3.4.3
PYTHON_ARCH: "64"
install:
- cmd: echo "Using cmd"
# Get needed submodules
- git submodule update --init
# Install new Python if necessary
- ps: .\multibuild\install_python.ps1
# 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%
# Fix MSVC builds for 64-bit Python
# See
# http://stackoverflow.com/questions/32091593/cannot-install-windows-sdk-7-1-on-windows-10
- echo "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 > "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64/vcvars64.bat"
# Check that we have the expected version and architecture for Python
- python --version
- python -c "import struct; print(struct.calcsize('P') * 8)"
- python -m pip install --upgrade pip setuptools
# Pin wheel to 0.26 to avoid Windows ABI tag for built wheel
- pip install wheel # ==0.26
build_script:
# Build and install the wheel
- cd cython
- git fetch origin
- git checkout %BUILD_COMMIT%
# Remove Bazel file that interferes with distutils
- del BUILD
- python setup.py bdist_wheel
- ps: |
# Upload artifact to Appveyor immediately after build
ls dist -r | Foreach-Object {
appveyor PushArtifact $_.FullName
}
- pip install --pre --no-index -f .\dist cython
test_script:
# Run some tests
- ps: get-childitem Demos\*.pyx | foreach-object { cython $_ }
- set CFLAGS="/Od"
- "%WITH_ENV% %PYTHON%\\python.exe runtests.py -vv --no-cpp --no-code-style -j8"
after_test:
# If tests are successful, create binary packages for the project.
- dir dist
deploy:
release: $(BUILD_COMMIT)
description: 'Cython $(BUILD_COMMIT)'
provider: GitHub
auth_token:
secure: iMriG/86PRGPbCSHYAU0sELyGRRiUVUPxvgamBf9u6ifqb2jCpPkFnLwRqkd0h0g
artifact: dist/*.whl
draft: false
prerelease: false
#on:
#branch: release # release from this branch only
#APPVEYOR_REPO_TAG: true # deploy on tag push only