forked from projectchrono/chrono
-
Notifications
You must be signed in to change notification settings - Fork 1
/
appveyor.yml
215 lines (189 loc) · 9.38 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
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
version: pychrono-dev.{build}
#image: Ubuntu
configuration: Release
branches:
only:
- feature/AppveyorConda
environment:
# setting this var true the PS command are executed only by win build (so Ubuntu will only consider "sh" commands)
APPVEYOR_YML_DISABLE_PS_LINUX: true
# SSH for remote access to VM
APPVEYOR_SSH_KEY: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDYLqPNTACBj/7zg//AOWg/1VtV9dFdCr6kdPHAOHPNd2xiOly5GfNfaRPiIYlqEGga/82Tc5QIqPgiTLVPwqieyOErIR5NGeWqGcTdO4MKsHVM5v+sZbyk0pbOgYLWvTQx5eNwTm+tvCZzgvyWvSVlhElngEwaWjUDB+2wPEcGRnr0vgkPQru0yeHFu+L4NKIR+zOnqXotS30TrH25g0xXLPrCShaFI5CNJ4yVRinSA2bY5KQA0YQeQ53xFV0lBqzzWS9UNDQmusL8Jx6LsNH9iuA5QO4lvIxFZ34LJDhQLLOMI9L+0PDLN8E7pb6WmRZxLI7kXnkl+GldSRNYdUnJ
appveyor_rdp_password:
secure: pU4ttbgcnJe6nioKXEuvRlup+xCxpPFGK8bpt0eCLRY=
BINSTAR_TOKEN:
# below the secure to upload to anaconda cloud
# take the travis-ci token generated from the command line
# anaconda auth -n the_token_name --max-age 22896000 -c --scopes api
# and copy paste to
# https://ci.appveyor.com/tools/encrypt
# then copy/paste the result below
secure: GMdyezok6xJOnKB5w7km6dvQvBqGxR6RfYSPODdXhy1rq0lvDPMW4m9O9eeBHU99
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 .\\contrib\\packaging-python\\appveyor\\obvci_appveyor_python_build_env.cmd"
# Workaround for https://github.com/conda/conda-build/issues/636
PYTHONIOENCODING: "UTF-8"
matrix:
- APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu
PYTHON_VERSION: "3.5"
PYTHON_ARCH: "64"
CONDA_PY: "35"
CONDA_NPY: "18"
CMAKE_GENERATOR: Unix Makefiles
CONFIGURATION: Release
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
PYTHON: "C:\\Python35_64"
PYTHON_VERSION: "3.5"
PYTHON_ARCH: "64"
CONDA_PY: "35"
CONDA_NPY: "18"
CONDA_INSTALL_LOCN: "C:\\Miniconda35-x64"
CMAKE_GENERATOR: Visual Studio 15 2017 Win64
CONFIGURATION: Release
CONDAVER: 4.5.11
- APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu
PYTHON_VERSION: "3.6"
PYTHON_ARCH: "64"
CONDA_PY: "36"
CONDA_NPY: "18"
CMAKE_GENERATOR: Unix Makefiles
CONFIGURATION: Release
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
PYTHON: "C:\\Python36_64"
PYTHON_VERSION: "3.6"
PYTHON_ARCH: "64"
CONDA_PY: "36"
CONDA_NPY: "18"
CONDA_INSTALL_LOCN: "C:\\Miniconda36-x64"
CMAKE_GENERATOR: Visual Studio 15 2017 Win64
CONFIGURATION: Release
CONDAVER: 4.6.12
- APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu
PYTHON_VERSION: "3.7"
PYTHON_ARCH: "64"
CONDA_PY: "37"
CONDA_NPY: "18"
CMAKE_GENERATOR: Unix Makefiles
CONFIGURATION: Release
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
PYTHON: "C:\\Python37_64"
PYTHON_VERSION: "3.7"
PYTHON_ARCH: "64"
CONDA_PY: "37"
CONDA_NPY: "18"
CONDA_INSTALL_LOCN: "C:\\Miniconda36-x64"
CMAKE_GENERATOR: Visual Studio 15 2017 Win64
CONFIGURATION: Release
CONDAVER: 4.6.12
init:
- ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
- sh: curl -sflL 'https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-ssh.sh' | bash -e -
# We always use a 64-bit machine, but can build x86 distributions
# with the TARGET_ARCH variable (which is used by CMD_IN_ENV).
platform:
- x64
install:
#################################################### WINDOWS #############################################################
- ps: Start-FileDownload 'http://downloads.sourceforge.net/irrlicht/irrlicht-1.8.2.zip'
- ps: 7z x irrlicht-1.8.2.zip -oC:\ -y
# fetch git submodules, to update the demos/ folder
- cmd: git submodule update --init --remote --recursive
# Set the CONDA_NPY, although it has no impact on the actual build. We need this because of a test within conda-build.
- cmd: set CONDA_NPY=19
# Remove cygwin (and therefore the git that comes with it).
- cmd: rmdir C:\cygwin /s /q
# Use the pre-installed Miniconda for the desired arch
#
# However, it is really old. So, we need to update some
# things before we proceed. That seems to require it being
# on the path. So, we temporarily put conda on the path
# so that we can update it. Then we remove it so that
# we can do a proper activation.
#- cmd: set "OLDPATH=%PATH%"
- cmd: set "PATH=%CONDA_INSTALL_LOCN%\\Scripts;%CONDA_INSTALL_LOCN%\\Library\\bin;%CONDA_INSTALL_LOCN%\\condabin;%PATH%"
#- cmd: conda config --set always_yes yes --set changeps1 no
#- cmd: conda update conda
#- cmd: set "PATH=%OLDPATH%"
- cmd: call %CONDA_INSTALL_LOCN%\Scripts\activate.bat
- cmd: conda create -n myenv python=%PYTHON_VERSION% -y
- cmd: conda config --set show_channel_urls true
#- cmd: conda update conda --yes
- cmd: conda install -c anaconda conda=%CONDAVER% --yes
- cmd: conda install conda-build anaconda-client --yes
- cmd: activate myenv
- cmd: conda config --add channels https://conda.anaconda.org/conda-forge
- cmd: conda config --add channels https://conda.anaconda.org/intel
# need to manually add non standard channels.
# Up-to date version by tpaviot: breaks conda. Use CadQuery version
- cmd: conda install -c conda-forge -c dlr-sc -c pythonocc -c oce -c 3dhubs oce==0.18 --yes
#- cmd: conda install -c cadquery pythonocc-core --yes
- cmd: conda install -c intel mkl-devel=2018.0.3 --yes
############################################### UBUNTU ###############################################################
# needed by Irr
- sh: sudo apt-get install libxxf86vm-dev -y
- sh: sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev -y
# had issues manually sompiling shared irrlicht
#- ps: Start-FileDownload 'http://downloads.sourceforge.net/irrlicht/irrlicht-1.8.2.zip'
#- ps: 7z x irrlicht-1.8.2.zip -oIRR -y
#- ps: make sharedlib -C ~/projects/chrono/IRR/irrlicht-1.8.2/source/Irrlicht
# I used precompiled instead
- sh: sudo apt-get install libirrlicht-dev -y
# fetch git submodules, to update the demos/ folder
- sh: git submodule update --init --remote --recursive
# Set the CONDA_NPY, although it has no impact on the actual build. We need this because of a test within conda-build.
- sh: set CONDA_NPY=19
- sh: wget "http://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh"
- sh: bash Miniconda3-latest-Linux-x86_64.sh -b
- sh: export PATH=$HOME/miniconda3/bin:$PATH
# Downgrading Conda leads to issues in Linux. We create specific environment "myenv" instead
- sh: conda create -n myenv python=$PYTHON_VERSION -y
- sh: conda update --yes conda
- sh: source activate myenv
- sh: conda install --yes pip jinja2
- sh: conda config --set show_channel_urls true
#- sh: conda install conda-build=3.17.5 anaconda-client=1.5.5 conda-verify --yes
- sh: conda install conda-build anaconda-client conda-verify --yes
- sh: conda update conda --yes
# I had to downgrade conda client, latest version does not show error messages
- sh: conda config --add channels https://conda.anaconda.org/conda-forge
- sh: conda config --add channels https://conda.anaconda.org/intel
- sh: conda install -c conda-forge -c dlr-sc -c pythonocc -c oce -c 3dhubs oce==0.18.2 --yes
#- sh: conda install -c cadquery pythonocc-core --yes
- sh: conda install -c intel mkl-devel --yes
build: off
test_script:
##################################################### UBUNTU #####################################
# builds conda package following recipe instructions
- sh: conda build ./contrib/packaging-python/conda --no-remove-work-dir --dirty
- sh: mkdir dist
- sh: cp /home/appveyor/miniconda3/envs/myenv/conda-bld/linux-$PYTHON_ARCH/pychrono*.bz2 ./dist/pychrono.tar.bz
- sh: anaconda -t $BINSTAR_TOKEN upload /home/appveyor/miniconda3/envs/myenv/conda-bld/linux-$PYTHON_ARCH/pychrono*.bz2 -l $APPVEYOR_REPO_BRANCH --force
##################################################### WINDOWS ###########################################
# Build and test the package. This appears(?) to sporadically fail due to a
# bug in conda-build on 32 bit python.
# https://github.com/conda/conda-build/issues/152
#
# Note also that our setup.py script, which is called by conda-build, writes
# a __conda_version__.txt file, so the version number on the binary package
# is set dynamically. This unfortunately mean that conda build --output
# doesn't really work.
#
# this syntax abilitate the following lines only for VS builds (otherwise CMD_IN_ENV stucks Linux Build)
for:
-
matrix:
only:
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
test_script:
- "%CMD_IN_ENV% conda build .\\contrib\\packaging-python\\conda --no-remove-work-dir --dirty"
# move conda package to /dist
- cmd: 'mkdir dist'
- cmd: 'copy /Y %CONDA_INSTALL_LOCN%\conda-bld\win-%PYTHON_ARCH%\pychrono*.bz2 dist || cmd /c "exit /b 0"'
# upload package to anaconda$
- ps: cmd /C anaconda --token $env:BINSTAR_TOKEN upload dist\*.bz2 -l $env:APPVEYOR_REPO_BRANCH --force "2>&1"
artifacts:
- path: dist\*
name: packages