forked from brian-team/brian2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
appveyor.yml
165 lines (148 loc) · 5.27 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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
# CI configuration for Windows tests on appveyor
# Based on Olivier Grisel's python-appveyor-demo
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 .\\dev\\continuous-integration\\appveyor\\run_with_env.cmd"
matrix:
- PYTHON: "C:\\Miniconda"
PYTHON_VERSION: "2.7"
PYTHON_ARCH: "32"
platform: x86
STANDALONE: "TRUE"
- PYTHON: "C:\\Miniconda35"
PYTHON_VERSION: "3.5"
PYTHON_ARCH: "32"
platform: x86
STANDALONE: "FALSE"
CONDA_PY: "35"
DO_CONDA_BUILD: "TRUE"
SPLIT_RUN: "FALSE"
- PYTHON: "C:\\Miniconda35-x64"
PYTHON_VERSION: "3.5"
PYTHON_ARCH: "64"
platform: x64
STANDALONE: "FALSE"
CONDA_PY: "35"
DO_CONDA_BUILD: "TRUE"
SPLIT_RUN: "FALSE"
- PYTHON: "C:\\Miniconda36"
PYTHON_VERSION: "3.6"
PYTHON_ARCH: "32"
platform: x86
STANDALONE: "FALSE"
CONDA_PY: "36"
DO_CONDA_BUILD: "TRUE"
SPLIT_RUN: "FALSE"
- PYTHON: "C:\\Miniconda36-x64"
PYTHON_VERSION: "3.6"
PYTHON_ARCH: "64"
platform: x64
STANDALONE: "FALSE"
CONDA_PY: "36"
DO_CONDA_BUILD: "TRUE"
SPLIT_RUN: "FALSE"
- PYTHON: "C:\\Miniconda"
PYTHON_VERSION: "2.7"
PYTHON_ARCH: "32"
platform: x86
STANDALONE: "FALSE"
CONDA_PY: "27"
DO_CONDA_BUILD: "TRUE"
SPLIT_RUN: "1"
- PYTHON: "C:\\Miniconda"
PYTHON_VERSION: "2.7"
PYTHON_ARCH: "32"
platform: x86
STANDALONE: "FALSE"
DO_CONDA_BUILD: "FALSE"
SPLIT_RUN: "2"
- PYTHON: "C:\\Miniconda-x64"
PYTHON_VERSION: "2.7"
PYTHON_ARCH: "64"
platform: x64
STANDALONE: "FALSE"
CONDA_PY: "27"
DO_CONDA_BUILD: "TRUE"
SPLIT_RUN: "1"
- PYTHON: "C:\\Miniconda-x64"
PYTHON_VERSION: "2.7"
PYTHON_ARCH: "64"
platform: x64
STANDALONE: "FALSE"
DO_CONDA_BUILD: "FALSE"
SPLIT_RUN: "2"
- PYTHON: "C:\\Miniconda-x64"
PYTHON_VERSION: "2.7"
PYTHON_ARCH: "64"
platform: x64
STANDALONE: "FALSE"
CONDA_PY: "27"
DO_CONDA_BUILD: "FALSE"
FLOAT_DTYPE_32: "TRUE"
SPLIT_RUN: "1"
- PYTHON: "C:\\Miniconda-x64"
PYTHON_VERSION: "2.7"
PYTHON_ARCH: "64"
platform: x64
STANDALONE: "FALSE"
DO_CONDA_BUILD: "FALSE"
FLOAT_DTYPE_32: "TRUE"
SPLIT_RUN: "2"
- PYTHON: "C:\\Miniconda-x64"
PYTHON_VERSION: "2.7"
PYTHON_ARCH: "64"
platform: x64
STANDALONE: "TRUE"
- PYTHON: "C:\\Miniconda-x64"
PYTHON_VERSION: "2.7"
PYTHON_ARCH: "64"
platform: x64
STANDALONE: "TRUE"
FLOAT_DTYPE_32: "TRUE"
install:
# Add the paths
- 'set PATH=%PYTHON%;%PYTHON%\Library\bin;%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)"'
# Use the conda-forge channel
- 'conda config --append channels conda-forge'
# Install the build dependencies of the project via conda
- 'appveyor-retry conda update -c conda-forge --yes conda'
- 'set PYTHON_PACKAGES=nose "sphinx<1.6.3" "sympy>=1.1.1" pyparsing jinja2 ipython setuptools cython "py-cpuinfo=3" "gsl>1.15" future'
# Install the weave package for Python 2
- 'if "%PYTHON_VERSION:~0,1%" == "2" set PYTHON_PACKAGES=%PYTHON_PACKAGES% weave'
# weave 0.16 is the only available version for 32 bit Windows, and it is not compatible with numpy 0.16
- 'if "%platform%" == "x86" (set PYTHON_PACKAGES=%PYTHON_PACKAGES% "numpy<1.16") else (set PYTHON_PACKAGES=%PYTHON_PACKAGES% numpy)'
# Create the test environment
- 'appveyor-retry conda install --quiet --yes python=%PYTHON_VERSION% %PYTHON_PACKAGES%'
# For faster tests, only build conda packages for the master branch or pull requests
- 'if "%APPVEYOR_PULL_REQUEST_NUMBER%" == "" if not "%APPVEYOR_REPO_BRANCH%" == "master" set DO_CONDA_BUILD=FALSE'
build: false # Not a C# project, build stuff at the test step instead.
test_script:
# Run the test suite
- '%CMD_IN_ENV% python -c "import sys; print(sys.executable)"'
- '%CMD_IN_ENV% python setup.py install --single-version-externally-managed --record=record.txt'
- 'set SRC_DIR=%CD%'
- 'cd \'
# Since "CMD_IN_ENV" assumes we are in the source directory we cannot use it
# here. We therefore copy its content and use the correct path
- 'cmd /E:ON /V:ON /C %SRC_DIR%\dev\continuous-integration\appveyor\run_with_env.cmd python %SRC_DIR%\dev\continuous-integration\run_test_suite.py'
after_test:
- 'IF "%DO_CONDA_BUILD%" == "TRUE" (
appveyor-retry pip install wheel &&
cd %SRC_DIR% &&
%CMD_IN_ENV% python setup.py bdist_wheel &&
appveyor-retry %CMD_IN_ENV% conda install --yes --quiet conda-build pip &&
appveyor-retry %CMD_IN_ENV% conda install --yes --quiet anaconda-client &&
%CMD_IN_ENV% conda build --quiet -c conda-forge dev\conda-recipe
)'
artifacts:
# Archive the generated conda package in the ci.appveyor.com build report.
- path: '*.tar.bz2'
name: conda package
- path: dist\*
name: PyPI binaries