forked from conda/conda-build
-
Notifications
You must be signed in to change notification settings - Fork 5
/
appveyor.yml
93 lines (81 loc) · 3.84 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
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
CMD_IN_ENV: "cmd /E:ON /V:ON /C .\\tools\\appveyor\\run_with_env.cmd"
matrix:
- PYTHON: "C:\\Miniconda36-x64"
PYTHON_VERSION: "3.6"
PYTHON_ARCH: "64"
- PYTHON: "C:\\Miniconda-x64"
PYTHON_VERSION: "2.7"
PYTHON_ARCH: "64"
- PYTHON: "C:\\Miniconda3-x64"
PYTHON_VERSION: "3.4"
PYTHON_ARCH: "64"
- PYTHON: "C:\\Miniconda36"
PYTHON_VERSION: "3.6"
PYTHON_ARCH: "32"
init:
- ECHO %PYTHON% %PYTHON_VERSION% %PYTHON_ARCH% %HOME%
install:
# If there is a newer build queued for the same PR, cancel this one.
# The AppVeyor 'rollout builds' option is supposed to serve the same
# purpose but it is problematic because it tends to cancel builds pushed
# directly to master instead of just PR builds (or the converse).
# credits: JuliaLang developers.
- 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." }
# these correspond to folder naming of miniconda installs on appveyor. See
# https://www.appveyor.com/docs/installed-software#python
- if "%PYTHON_VERSION%" == "3.4" set "BASE_PYTHON_VERSION=3"
- if "%PYTHON_VERSION%" == "3.6" set "BASE_PYTHON_VERSION=36"
- if "%PYTHON_ARCH%" == "64" set "ARCH_LABEL=-x64"
# These are already installed on appveyor. Update them.
- set "CONDA_ROOT=C:\Miniconda%BASE_PYTHON_VERSION%%ARCH_LABEL%"
- set "PATH=%CONDA_ROOT%;%CONDA_ROOT%\Scripts;%CONDA_ROOT%\Library\bin;%PATH%"
- conda config --set always_yes yes
- conda update -q conda
- conda config --set auto_update_conda no
- conda info
- python -c "import sys; print(sys.version)"
- python -c "import sys; print(sys.executable)"
- python -c "import sys; print(sys.prefix)"
- conda update -q --all
- conda install -q pip pytest pytest-cov jinja2 patch flake8 mock requests contextlib2 chardet
- conda install -q pyflakes pycrypto posix m2-git anaconda-client numpy conda-verify beautifulsoup4
- conda install -c conda-forge -q perl
# this is to ensure dependencies
- python --version
- python -c "import struct; print(struct.calcsize('P') * 8)"
- pip install --no-deps .
- pip install pytest-xdist pytest-catchlog pytest-env pytest-mock filelock pkginfo
- set PATH
- conda build --version
- call ci\appveyor\setup_x64.bat
- copy "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars64.bat" "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\amd64\vcvarsamd64.bat"
# This is an extra repo that we clone for relative path entries
- cmd: pushd .. && git clone https://github.com/conda/conda_build_test_recipe && popd
# Not a .NET project, we build package in the install step instead
build: false
cache:
- C:\\Miniconda3-x64 -> appveyor.yml
- C:\\Miniconda36-x64 -> appveyor.yml
- C:\\Miniconda-x64 -> appveyor.yml
- C:\\Miniconda -> appveyor.yml
test_script:
- set "PATH=%CONDA_ROOT%;%CONDA_ROOT%\Scripts;%CONDA_ROOT%\Library\bin;%PATH%"
- set PATH
- mkdir C:\cbtmp
- py.test --color=yes -v --cov conda_build --cov-report xml tests --basetemp C:\cbtmp -n 0 -m "serial"
- rd /S /Q C:\cbtmp
- py.test --color=yes -v --cov conda_build --cov-report xml --cov-append tests --basetemp C:\cbtmp -n 2 -m "not serial" --durations=15
on_failure:
- 7z.exe a cbtmp.7z C:\cbtmp
- appveyor PushArtifact cbtmp.7z
on_success:
- pip install codecov
- codecov --env PYTHON_VERSION