forked from matplotlib/matplotlib
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.appveyor.yml
107 lines (87 loc) · 2.99 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
# With infos from
# http://tjelvarolsson.com/blog/how-to-continuously-test-your-python-code-on-windows-using-appveyor/
# https://packaging.python.org/en/latest/appveyor/
# https://github.com/rmcgibbo/python-appveyor-conda-example
# Backslashes in quotes need to be escaped: \ -> "\\"
branches:
except:
- /auto-backport-.*/
- /^v\d+\.\d+\.[\dx]+-doc$/
skip_commits:
message: /\[ci doc\]/
files:
- doc/
- galleries/
clone_depth: 50
image: Visual Studio 2017
environment:
global:
PYTHONFAULTHANDLER: 1
PYTHONIOENCODING: UTF-8
PYTEST_ARGS: -raR --numprocesses=auto --timeout=300 --durations=25
--cov-report= --cov=lib --log-level=DEBUG
matrix:
- PYTHON_VERSION: "3.9"
CONDA_INSTALL_LOCN: "C:\\Miniconda3-x64"
TEST_ALL: "no"
- PYTHON_VERSION: "3.10"
CONDA_INSTALL_LOCN: "C:\\Miniconda3-x64"
TEST_ALL: "no"
# We always use a 64-bit machine, but can build x86 distributions
# with the PYTHON_ARCH variable
platform:
- x64
# all our python builds have to happen in tests_script...
build: false
cache:
- '%LOCALAPPDATA%\pip\Cache'
- '%USERPROFILE%\.cache\matplotlib'
init:
- echo %PYTHON_VERSION% %CONDA_INSTALL_LOCN%
install:
- set PATH=%CONDA_INSTALL_LOCN%;%CONDA_INSTALL_LOCN%\scripts;%PATH%;
- conda config --set always_yes true
- conda config --set show_channel_urls yes
- conda config --prepend channels conda-forge
# For building, use a new environment
# Add python version to environment
# `^ ` escapes spaces for indentation
- echo ^ ^ - python=%PYTHON_VERSION% >> environment.yml
- conda env create -f environment.yml
- activate mpl-dev
- conda install -c conda-forge pywin32
- echo %PYTHON_VERSION% %TARGET_ARCH%
# Show the installed packages + versions
- conda list
test_script:
# Now build the thing..
- set LINK=/LIBPATH:%cd%\lib
- pip install -ve .
# this should show no freetype dll...
- set "DUMPBIN=%VS140COMNTOOLS%\..\..\VC\bin\dumpbin.exe"
- '"%DUMPBIN%" /DEPENDENTS lib\matplotlib\ft2font*.pyd | findstr freetype.*.dll && exit /b 1 || exit /b 0'
# this are optional dependencies so that we don't skip so many tests...
- if x%TEST_ALL% == xyes conda install -q ffmpeg inkscape miktex
# missing packages on conda-forge for imagemagick
# This install sometimes failed randomly :-(
#- choco install imagemagick
# Test import of tkagg backend
- python -c "import matplotlib as m; m.use('tkagg'); import matplotlib.pyplot as plt; print(plt.get_backend())"
# tests
- echo The following args are passed to pytest %PYTEST_ARGS%
- pytest %PYTEST_ARGS%
artifacts:
- path: result_images\*
name: result_images
type: zip
on_finish:
- conda install codecov
- codecov -e PYTHON_VERSION PLATFORM
on_failure:
# Generate a html for visual tests
- python tools/visualize_tests.py --no-browser
- echo zipping images after a failure...
- 7z a result_images.zip result_images\ | grep -v "Compressing"
- appveyor PushArtifact result_images.zip
matrix:
fast_finish: true