forked from Pyomo/pyomo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.appveyor.yml
161 lines (137 loc) · 5.02 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
branches:
only:
- master
environment:
matrix:
# For Python versions available on Appveyor, see
# http://www.appveyor.com/docs/installed-software#python
# The list here is complete at the time of writing.
#- PYTHON_VERSION: 2.7
# PYTHON: "C:\\Miniconda-x64"
# CATEGORY: "nightly"
#- PYTHON_VERSION: 3.4
# PYTHON: "C:\\Miniconda34-x64"
# CATEGORY: "nightly"
#- PYTHON_VERSION: 3.5
# PYTHON: "C:\\Miniconda35-x64"
# CATEGORY: "nightly"
#- PYTHON_VERSION: 3.6
# PYTHON: "C:\\Miniconda36-x64"
# CATEGORY: "nightly"
- PYTHON_VERSION: 2.7
PYTHON: "C:\\Miniconda-x64"
CATEGORY: "nightly"
EXTRAS: YES
#- PYTHON_VERSION: 3.4
# PYTHON: "C:\\Miniconda34-x64"
# CATEGORY: "nightly"
# EXTRAS: YES
- PYTHON_VERSION: 3.5
PYTHON: "C:\\Miniconda35-x64"
CATEGORY: "nightly"
EXTRAS: YES
- PYTHON_VERSION: 3.6
PYTHON: "C:\\Miniconda36-x64"
CATEGORY: "nightly"
EXTRAS: YES
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"
#
# Update conda, then force it to NOT update itself again
#
# Somehow, the update from anaconda stalls for Python 3.4. So we're not specifying the channel here.
#
- conda config --set always_yes yes
- conda update -q -y conda
- conda config --set auto_update_conda false
- conda install anaconda
#
- "%CONDAFORGE% setuptools pip coverage sphinx_rtd_theme"
- python -m pip install codecov
#
# 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% pymysql pyro4)"
#- "IF DEFINED EXTRAS (%CONDAFORGE% numpy scipy ipython openpyxl sympy pymysql pyodbc pyro4 pyyaml networkx xlrd pandas matplotlib dill)"
#- "IF DEFINED EXTRAS (%CONDAFORGE% mkl)"
#
- "%CONDAFORGE% glpk"
- "glpsol -v"
# NOTE: conda-forge doesn't build ipopt for Windows....
- "%CONDAFORGE% ipopt"
- "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"
#
# Fetch additional solvers
#
- "mkdir %cd%\\bin"
- "SET PATH=%cd%\\bin;%PATH%"
- "python pyomo\\contrib\\trustregion\\getGJH.py %cd%\\bin"
- "gjh -v"
- "python pyomo\\common\\getGSL.py %cd%\\bin"
#
# 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