forked from brian-team/brian2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathappveyor.yml
131 lines (115 loc) · 4.22 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
# CI configuration for Windows tests on appveyor
# Based on Olivier Grisel's python-appveyor-demo
image: Visual Studio 2017
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"
PYTHONDEVMODE: "1"
matrix:
- PYTHON: "C:\\Miniconda37-x64"
PYTHON_VERSION: "3.7"
PYTHON_ARCH: "64"
platform: x64
STANDALONE: "TRUE"
FLOAT_DTYPE_32: "TRUE"
- PYTHON: "C:\\Miniconda37"
PYTHON_VERSION: "3.7"
PYTHON_ARCH: "32"
platform: x86
STANDALONE: "TRUE"
- PYTHON: "C:\\Miniconda37"
PYTHON_VERSION: "3.7"
PYTHON_ARCH: "32"
platform: x86
STANDALONE: "FALSE"
CONDA_PY: "37"
DO_CONDA_BUILD: "TRUE"
SPLIT_RUN: "1"
- PYTHON: "C:\\Miniconda37"
PYTHON_VERSION: "3.7"
PYTHON_ARCH: "32"
platform: x86
STANDALONE: "FALSE"
DO_CONDA_BUILD: "FALSE"
SPLIT_RUN: "2"
- PYTHON: "C:\\Miniconda37-x64"
PYTHON_VERSION: "3.7"
PYTHON_ARCH: "64"
platform: x64
STANDALONE: "FALSE"
CONDA_PY: "37"
DO_CONDA_BUILD: "TRUE"
SPLIT_RUN: "1"
- PYTHON: "C:\\Miniconda37-x64"
PYTHON_VERSION: "3.7"
PYTHON_ARCH: "64"
platform: x64
STANDALONE: "FALSE"
DO_CONDA_BUILD: "FALSE"
SPLIT_RUN: "2"
- PYTHON: "C:\\Miniconda37-x64"
PYTHON_VERSION: "3.7"
PYTHON_ARCH: "64"
platform: x64
STANDALONE: "FALSE"
CONDA_PY: "37"
DO_CONDA_BUILD: "FALSE"
FLOAT_DTYPE_32: "TRUE"
SPLIT_RUN: "1"
- PYTHON: "C:\\Miniconda37-x64"
PYTHON_VERSION: "3.7"
PYTHON_ARCH: "64"
platform: x64
STANDALONE: "FALSE"
DO_CONDA_BUILD: "FALSE"
FLOAT_DTYPE_32: "TRUE"
SPLIT_RUN: "2"
- PYTHON: "C:\\Miniconda37-x64"
PYTHON_VERSION: "3.7"
PYTHON_ARCH: "64"
platform: x64
STANDALONE: "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=pytest "sympy>=1.1.1" pyparsing jinja2 ipython setuptools cython "py-cpuinfo>=3" "gsl>1.15" sphinx 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" (
conda config --set restore_free_channel 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