forked from Pyomo/pyomo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.appveyor.yml
162 lines (140 loc) · 5.33 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
environment:
matrix:
# For Python versions available on Appveyor, see
# http://www.appveyor.com/docs/installed-software#python
# The list here is complete (excluding Python 2.6, which
# isn't covered by this document) at the time of writing.
- PYTHON_VERSION: 2.7
#PYTHON: "C:\\Python27"
PYTHON: "C:\\Miniconda-x64"
CATEGORY: "nightly"
# Removing testing of 3.4, as it inexplicably runs >10x slower than
# other Python versions and regularly times out (60 minutes)
#- PYTHON_VERSION: 3.4
# #PYTHON: "C:\\Python34"
# PYTHON: "C:\\Miniconda3-x64"
# CATEGORY: "nightly"
- PYTHON_VERSION: 3.5
#PYTHON: "C:\\Python35"
PYTHON: "C:\\Miniconda35-x64"
CATEGORY: "nightly"
- PYTHON_VERSION: 3.6
#PYTHON: "C:\\Python36"
PYTHON: "C:\\Miniconda36-x64"
CATEGORY: "nightly"
- PYTHON_VERSION: 2.7
#PYTHON: "C:\\Python27"
PYTHON: "C:\\Miniconda-x64"
CATEGORY: "nightly"
EXTRAS: YES
- PYTHON_VERSION: 3.6
#PYTHON: "C:\\Python36"
PYTHON: "C:\\Miniconda36-x64"
CATEGORY: "nightly"
EXTRAS: YES
##- PYTHON: "C:\\Python33"
#- PYTHON: "C:\\Python34"
#- PYTHON: "C:\\Python27-x64"
##- PYTHON: "C:\\Python33-x64"
## DISTUTILS_USE_SDK: "1"
#- PYTHON: "C:\\Python34-x64"
# DISTUTILS_USE_SDK: "1"
#- PYTHON: "C:\\Python35-x64"
install:
# We need wheel installed to build wheels
- "SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PYTHON%\\Library\\bin;%PATH%"
- python --version
#
# Set standardized ways to invoke conda for the various channels. We
# are seeing strange issues where conda-forge and cachemeorg are
# fighting with anaconda over the version of core packages (notably,
# conda). The following prevents conda-forge and cacheme.org from
# overriding anaconda.
#
- SET CONDA_INSTALL=conda install -q -y
- "SET ANACONDA=%CONDA_INSTALL% -c anaconda"
- "SET CONDAFORGE=%CONDA_INSTALL% -c conda-forge --no-update-dependencies"
- "SET CACHEMEORG=%CONDA_INSTALL% -c cachemeorg --no-update-dependencies"
#
# Update conda, then force it to NOT update itself again
#
- conda config --set always_yes yes
- conda update -q -y -c anaconda conda
- conda config --set auto_update_conda false
#
- "%CONDAFORGE% setuptools pip"
- "IF %PYTHON_VERSION%==2.6 (python -m pip install ordereddict)"
- python -m pip install coverage
- python -m pip install codecov
- IF DEFINED YAML (python -m pip install pyyaml)
- "IF DEFINED PYRO (python -m pip install %PYRO%)"
- python -m pip install xlrd
- python -m pip install openpyxl
- python -m pip install sphinx_rtd_theme
- "%ANACONDA% pandas networkx"
- "IF NOT %PYTHON_VERSION%==2.6 (%ANACONDA% scipy)"
#
# Install GAMS
#
- ps: Start-FileDownload 'https://d37drm4t2jghv5.cloudfront.net/distributions/24.8.5/windows/windows_x64_64.exe'
- windows_x64_64.exe /SP- /VERYSILENT /NORESTART /DIR=.\gams /NOICONS
- "SET PATH=%cd%\\gams;%PATH%"
#
# Install pyomo.extras
#
- "IF DEFINED EXTRAS (%CONDAFORGE% pyomo.extras)"
#
- "%CONDAFORGE% glpk"
- "glpsol -v"
# NOTE: conda-forge doesn't build ipopt for Windows....
- "%CACHEMEORG% ipopt_bin"
- "ipopt -v"
#
# Clone but don't install pyomo-model-libraries
#
- "git clone https://github.com/Pyomo/pyomo-model-libraries.git"
- "python -m pip install git+https://github.com/PyUtilib/pyutilib"
- "python setup.py develop"
#
# Verify the python version
- python --version
build: off
test_script:
# Put your test command here.
# If you don't need to build C extensions on 64-bit Python 3.3 or 3.4,
# you can remove "build.cmd" from the front of the command, as it's
# only needed to support those cases.
# Note that you must use the environment variable %PYTHON% to refer to
# the interpreter you're using - Appveyor does not do anything special
# to put the Python evrsion you want to use on PATH.
#
# This block of commands enable tracking of coverage for any
# subprocesses launched by tests
- "SET BUILD_DIR=%cd%"
- "SET COVERAGE_PROCESS_START=%BUILD_DIR%\\coveragerc"
- "copy %BUILD_DIR%\\.coveragerc %COVERAGE_PROCESS_START%"
- "echo data_file=%BUILD_DIR%\\.coverage >> %COVERAGE_PROCESS_START%"
- python -c "from distutils.sysconfig import get_python_lib; import os; FILE=open(os.path.join(get_python_lib(),'run_coverage_at_startup.pth'), 'w'); FILE.write('import coverage; coverage.process_startup()'); FILE.close()"
# Run Pyomo tests
- "test.pyomo -v --cat=%CATEGORY% pyomo %BUILD_DIR%\\pyomo-model-libraries"
# Run documentation tests
- "nosetests -v --with-doctest --doctest-extension=.rst doc\\OnlineDocs"
#after_test:
# This step builds your wheels.
# Again, you only need build.cmd if you're building C extensions for
# 64-bit Python 3.3/3.4. And you need to use %PYTHON% to get the correct
# interpreter
#- "build.cmd %PYTHON%\\python.exe setup.py bdist_wheel"
#artifacts:
# bdist_wheel puts your built wheel in the dist directory
#- path: dist\*
on_success:
# You can use this step to upload your artifacts to a public website.
# See Appveyor's documentation for more details. Or you can simply
# access your wheels from the Appveyor "artifacts" tab for your build.
#
# Combine coverage reports over all subprocesses
- "cd %BUILD_DIR%"
- dir .cov*
- "coverage combine %BUILD_DIR%"
- codecov -X gcov