forked from FCS-analysis/PyCorrFit
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathappveyor.yml
More file actions
126 lines (106 loc) · 4.12 KB
/
appveyor.yml
File metadata and controls
126 lines (106 loc) · 4.12 KB
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
# Changes in online interface:
# - Set build schedule to "0 3 * * *" for nightly builds.
#skip_commits:
# # Do not build on commits. Only nightly builds (web interface)
# author: /.*/
# Only build master branch
## seems to prevent building tags
#branches:
# only:
# - master
notifications:
- provider: Email
on_build_success: false
on_build_failure: false
on_build_status_changed: false
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
WITH_COMPILER: "cmd /E:ON /V:ON /C .\\freeze_appveyor\\run_with_compiler.cmd"
GH_READ_API_TOKEN:
secure: GvXoZj2gfC/Zjpe5k3BLTNKTNLWPFK9hB97npxEDM5rUxcrESItbUhrPwXCaAt8s
# https://github.com/appveyor/ci/issues/359
matrix:
- PYTHON: "C:\\Miniconda"
PYTHON_VERSION: "2.7"
PYTHON_ARCH: "32"
PYWIN_DL: "https://downloads.sourceforge.net/project/pywin32/pywin32/Build%20219/pywin32-219.win32-py2.7.exe"
- PYTHON: "C:\\Miniconda-x64"
PYTHON_VERSION: "2.7"
PYTHON_ARCH: "64"
PYWIN_DL: "https://downloads.sourceforge.net/project/pywin32/pywin32/Build%20219/pywin32-219.win-amd64-py2.7.exe"
init:
- "ECHO %PYTHON% %PYTHON_VERSION% %PYTHON_ARCH%"
install:
# Install InnoSetup and add to path
# Copied from
# https://github.com/Phonations/Joker/blob/master/appveyor.yml
- choco install -y InnoSetup
# Determine platform
- '%PYTHON%/python -c "import platform; print platform.uname()"'
- '%PYTHON%/python -c "import sys; print sys.maxint"'
- '%PYTHON%/python -c "import sys; print sys.version"'
# Prepend newly installed Python to the PATH of this build (this cannot be
# done from inside the powershell script as it would require to restart
# the parent CMD process).
- "SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%"
# Check that we have the expected version and architecture for Python
- "python --version"
# Install package-specific libraries
# CONDA installs
# Pinned versions are defined in freeze_appveyor\pinned
- xcopy freeze_appveyor\pinned %PYTHON%\conda-meta\ /Y
- "conda install --yes --quiet numpy pip scipy wxpython"
# PIP installs
# Install the build dependencies of the project.
- "pip install cython"
- "pip install wheel"
# Install package-specific libraries
- "pip install matplotlib==1.4.3"
- "pip install sympy"
- "pip install lmfit"
# Install pyinstaller (includes dependency for pywin32)
- "%WITH_COMPILER% pip install pypiwin32"
- "%WITH_COMPILER% pip install git+git://github.com/pyinstaller/pyinstaller.git@779d07b236a943a4bf9d2b1a0ae3e0ebcc914798"
# Run develop (installs yet missing packages and runs cython)
- "%WITH_COMPILER% %PYTHON%/python setup.py develop"
# Show the installed packages
- "pip freeze"
shallow_clone: true
build: off
test_script:
- 'python -c "import pycorrfit; print pycorrfit.__version__"'
- "pip install coverage"
- "pip install coveralls"
- "coverage run --source=pycorrfit ./setup.py test"
- "coverage report -m"
# https://github.com/lemurheavy/coveralls-public/issues/429
# - "coveralls --verbose"
after_test:
# If tests are successful, create a whl package for the project.
- "%WITH_COMPILER% %PYTHON%/python setup.py bdist_wheel"
- ps: "ls dist"
# Run pyinstaller
# This will create the "win7_innosetup.iss" file
- "%WITH_COMPILER% pyinstaller -y --log-level=WARN freeze_pyinstaller\\PyCorrFit_win7.spec"
# Create InnoSetup installers
# Set InnoSetup path here, because Cython complained about it.
- set PATH=%PATH%;"C:\\Program Files (x86)\\Inno Setup 5"
- iscc /VERYSILENT win7_innosetup.iss
artifacts:
# Archive the generated wheel package in the ci.appveyor.com build report.
- path: dist\*
# InnoSetup files
- path: Output\*
deploy:
provider: GitHub
auth_token:
secure: /b5SfmYssAfLaWi0qkPhxR5CruSVBZUurSQLEL3RAaRlHn6HTPrkIqvrLDk/8JxB
artifact: /.*\.exe/, /.*\.whl/
draft: true
prerelease: true
on:
branch: master # release from master branch only
appveyor_repo_tag: true # deploy on tag push only