|
1 | 1 | environment: |
| 2 | + |
| 3 | + TOXENV: py,py27 |
| 4 | + TOX_TESTENV_PASSENV: DISTUTILS_USE_SDK MSSdk INCLUDE LIB |
| 5 | + # https://packaging.python.org/guides/supporting-windows-using-appveyor/#testing-with-tox |
| 6 | + |
2 | 7 | # for more python versions have a look at |
3 | 8 | # https://github.com/ogrisel/python-appveyor-demo/blob/master/appveyor.yml |
4 | 9 | matrix: |
5 | | - # 64 julia-0.6 Python-27 |
6 | | - - JULIA_URL: "https://julialang-s3.julialang.org/bin/winnt/x64/0.6/julia-0.6-latest-win64.exe" |
7 | | - PYTHONDIR: "C:\\Python27-x64" |
8 | | - |
9 | | - # 32 julia-0.6 Python-27 |
| 10 | + # 32 julia-0.6 Python-35 |
10 | 11 | - JULIA_URL: "https://julialang-s3.julialang.org/bin/winnt/x86/0.6/julia-0.6-latest-win32.exe" |
11 | | - PYTHONDIR: "C:\\Python27" |
| 12 | + PYTHONDIR: "C:\\Python35" |
| 13 | + BATDIR: ci\appveyor\win32 |
| 14 | + CROSS_VERSION: 1 |
| 15 | + |
| 16 | + # 32 julia latest Python-35 |
| 17 | + - JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x86/julia-latest-win32.exe" |
| 18 | + PYTHONDIR: "C:\\Python35" |
| 19 | + BATDIR: ci\appveyor\win32 |
12 | 20 |
|
13 | 21 | # 64 julia-0.6 Python-35 |
14 | 22 | - JULIA_URL: "https://julialang-s3.julialang.org/bin/winnt/x64/0.6/julia-0.6-latest-win64.exe" |
15 | 23 | PYTHONDIR: "C:\\Python35-x64" |
16 | | - |
17 | | - # 32 julia-latest Python-27 |
18 | | - - JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x86/julia-latest-win32.exe" |
19 | | - PYTHONDIR: "C:\\Python27" |
20 | | - |
21 | | - # 64 julia-latest Python-27 |
22 | | - - JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x64/julia-latest-win64.exe" |
23 | | - PYTHONDIR: "C:\\Python27-x64" |
| 24 | + BATDIR: ci\appveyor\win64 |
| 25 | + CROSS_VERSION: 1 |
24 | 26 |
|
25 | 27 | # 64 julia latest Python-35 |
26 | 28 | - JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x64/julia-latest-win64.exe" |
27 | 29 | PYTHONDIR: "C:\\Python35-x64" |
28 | | - |
29 | | - # 64 julia latest Cross Version |
30 | | - - JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x64/julia-latest-win64.exe" |
31 | | - PYTHONDIR: "C:\\Python35-x64" |
32 | | - CROSS_VERSION_PATH: "C:\\Python27-x64" |
33 | | - |
34 | | - # 32 julia latest Cross Version |
35 | | - - JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x86/julia-latest-win32.exe" |
36 | | - PYTHONDIR: "C:\\Python35" |
37 | | - CROSS_VERSION_PATH: "C:\\Python27" |
| 30 | + BATDIR: ci\appveyor\win64 |
38 | 31 |
|
39 | 32 | matrix: |
40 | | - allow_failures: |
41 | | - - CROSS_VERSION_PATH: "C:\\Python27-x64" |
42 | | - - CROSS_VERSION_PATH: "C:\\Python27" |
| 33 | + allow_failures: |
| 34 | + - JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x86/julia-latest-win32.exe" |
| 35 | + - JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x64/julia-latest-win64.exe" |
43 | 36 |
|
44 | 37 | branches: |
45 | 38 | only: |
@@ -71,11 +64,18 @@ build_script: |
71 | 64 | # - C:\projects\julia\bin\julia -e "using PyCall; @assert isdefined(:PyCall); @assert typeof(PyCall) === Module" |
72 | 65 | - "SET PYTHON=%PYTHONDIR%\\python.exe" |
73 | 66 | - C:\projects\julia\bin\julia -e "versioninfo(); Pkg.add(\"PyCall\")" |
| 67 | + - "%PYTHONDIR%\\python.exe -m pip install --quiet tox" |
74 | 68 |
|
75 | 69 | test_script: |
76 | | - - "SET PATH=%PYTHONDIR%;%PYTHONDIR%\\Scripts;C:\\projects\\julia\\bin;%PATH%" |
77 | | - - python --version |
| 70 | + - "SET PATH=%cd%\\%BATDIR%;%PYTHONDIR%;%PYTHONDIR%\\Scripts;C:\\projects\\julia\\bin;%PATH%" |
78 | 71 | - dir |
79 | | - - ps: if (Test-Path Env:\CROSS_VERSION_PATH) { Invoke-Expression "$env:CROSS_VERSION_PATH -m unittest discover" } |
80 | | - # - python -c "import julia; julia.Julia(debug=True)" |
81 | | - - python -m unittest discover |
| 72 | + |
| 73 | + # Run cross-version tests but ignore the failures (from Python 2). |
| 74 | + # Once cross-version in Windows is fmixed, stop using |
| 75 | + # Invoke-Expression (which ignores the exit status). |
| 76 | + - ps: if ($env:CROSS_VERSION -eq 1) { Invoke-Expression "tox -- -s" } |
| 77 | + # - ps: if ($env:CROSS_VERSION -eq 1) { tox -- -s } |
| 78 | + |
| 79 | + # Rebuild PyCall.ji for each Python interpreter before testing: |
| 80 | + - "SET PYJULIA_TEST_REBUILD=yes" |
| 81 | + - tox -- -s |
0 commit comments