forked from JuliaPy/pyjulia
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathappveyor.yml
95 lines (79 loc) · 3.73 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
environment:
TOXENV: py,py27
TOX_TESTENV_PASSENV: DISTUTILS_USE_SDK MSSdk INCLUDE LIB
# https://packaging.python.org/guides/supporting-windows-using-appveyor/#testing-with-tox
# for more python versions have a look at
# https://github.com/ogrisel/python-appveyor-demo/blob/master/appveyor.yml
matrix:
# 32 julia-0.6 Python-35
- JULIA_URL: "https://julialang-s3.julialang.org/bin/winnt/x86/0.6/julia-0.6-latest-win32.exe"
PYTHONDIR: "C:\\Python35"
BATDIR: ci\appveyor\win32
CROSS_VERSION: 1
# 32 julia-1.0 Python-35
- JULIA_URL: "https://julialang-s3.julialang.org/bin/winnt/x86/1.0/julia-1.0-latest-win32.exe"
PYTHONDIR: "C:\\Python35"
BATDIR: ci\appveyor\win32
# 32 julia latest Python-35
# - JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x86/julia-latest-win32.exe"
# PYTHONDIR: "C:\\Python35"
# BATDIR: ci\appveyor\win32
# 64 julia-0.6 Python-35
- JULIA_URL: "https://julialang-s3.julialang.org/bin/winnt/x64/0.6/julia-0.6-latest-win64.exe"
PYTHONDIR: "C:\\Python35-x64"
BATDIR: ci\appveyor\win64
CROSS_VERSION: 1
# 64 julia-1.0 Python-35
- JULIA_URL: "https://julialang-s3.julialang.org/bin/winnt/x64/1.0/julia-1.0-latest-win64.exe"
PYTHONDIR: "C:\\Python35-x64"
BATDIR: ci\appveyor\win64
# 64 julia latest Python-35
# - JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x64/julia-latest-win64.exe"
# PYTHONDIR: "C:\\Python35-x64"
# BATDIR: ci\appveyor\win64
matrix:
allow_failures:
- JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x86/julia-latest-win32.exe"
- JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x64/julia-latest-win64.exe"
branches:
only:
- master
notifications:
- provider: Email
on_build_success: false
on_build_failure: false
on_build_status_changed: false
install:
# If there's a newer build queued for the same PR, cancel this one
- ps: if ($env:APPVEYOR_PULL_REQUEST_NUMBER -and $env:APPVEYOR_BUILD_NUMBER -ne ((Invoke-RestMethod `
https://ci.appveyor.com/api/projects/$env:APPVEYOR_ACCOUNT_NAME/$env:APPVEYOR_PROJECT_SLUG/history?recordsNumber=50).builds | `
Where-Object pullRequestId -eq $env:APPVEYOR_PULL_REQUEST_NUMBER)[0].buildNumber) { `
throw "There are newer queued builds for this pull request, failing early." }
# Download most recent Julia Windows binary
- ps: (new-object net.webclient).DownloadFile(
$env:JULIA_URL,
"C:\projects\julia-binary.exe")
# Run installer silently, output to C:\projects\julia
- C:\projects\julia-binary.exe /S /D=C:\projects\julia
build_script:
- "SET PATH=%PYTHONDIR%;%PYTHONDIR%\\Scripts;C:\\projects\\julia\\bin;%PATH%"
- "\"C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\bin\\amd64\\editbin.exe\" %PYTHONDIR%\\python.exe /STACK:8000000"
- "SET PYTHON=%PYTHONDIR%\\python.exe"
- "%PYTHONDIR%\\python.exe -m pip install --quiet tox"
- "%PYTHONDIR%\\python.exe ci\\install_pycall.py"
test_script:
- "SET PATH=%cd%\\%BATDIR%;%PYTHONDIR%;%PYTHONDIR%\\Scripts;C:\\projects\\julia\\bin;%PATH%"
- dir
# Run cross-version tests but ignore the failures (from Python 2).
# Once cross-version in Windows is fmixed, stop using
# Invoke-Expression (which ignores the exit status).
- ps: if ($env:CROSS_VERSION -eq 1) { Invoke-Expression "tox" }
# - ps: if ($env:CROSS_VERSION -eq 1) { tox }
- ps: if ($env:CROSS_VERSION -eq 1) { Invoke-Expression "cat .tox\py\log\pytest.log" }
- ps: if ($env:CROSS_VERSION -eq 1) { Invoke-Expression "cat .tox\py27\log\pytest.log" }
# Rebuild PyCall.ji for each Python interpreter before testing:
- "SET PYJULIA_TEST_REBUILD=yes"
- tox
on_finish:
- ps: cat .tox\py\log\pytest.log
- ps: cat .tox\py27\log\pytest.log