-
Notifications
You must be signed in to change notification settings - Fork 259
/
.appveyor.yml
121 lines (115 loc) · 4.94 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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
environment:
MESON_EXE_WRAPPER: "['C:\\Program Files\\OpenCppCoverage\\OpenCppCoverage.exe', '--export_type=cobertura', '--']"
CCACHE_MAXSIZE: '500Mi'
matrix:
# - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
# VCVARSALL: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat
# PYTHON_DIR: C:\Python311-x64
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
VCVARSALL: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat
PYTHON_DIR: C:\Python311-x64
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
VCVARSALL: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat
PYTHON_DIR: C:\Python38-x64
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
VCVARSALL: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat
PYTHON_DIR: C:\Python38-x64
# - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
# VCVARSALL: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat
# PYTHON_DIR: C:\Python311-x64
# FLAGS: /arch:AVX
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
VCVARSALL: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat
PYTHON_DIR: C:\Python311-x64
FLAGS: /arch:AVX
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
VCVARSALL: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat
PYTHON_DIR: C:\Python38-x64
FLAGS: /arch:AVX
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
VCVARSALL: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat
PYTHON_DIR: C:\Python38-x64
FLAGS: /arch:AVX
# - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
# VCVARSALL: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat
# PYTHON_DIR: C:\Python311-x64
# FLAGS: /arch:AVX2
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
VCVARSALL: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat
PYTHON_DIR: C:\Python311-x64
FLAGS: /arch:AVX2
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
VCVARSALL: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat
PYTHON_DIR: C:\Python38-x64
FLAGS: /arch:AVX2
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
VCVARSALL: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat
PYTHON_DIR: C:\Python38-x64
FLAGS: /arch:AVX2
# - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
# VCVARSALL: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat
# PYTHON_DIR: C:\Python311-x64
# FLAGS: /arch:AVX512
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
VCVARSALL: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat
PYTHON_DIR: C:\Python311-x64
FLAGS: /arch:AVX512
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
VCVARSALL: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat
PYTHON_DIR: C:\Python38-x64
FLAGS: /arch:AVX512
branches:
except:
- /^ci/(?!appveyor)(/.+)?/
- /^dependabot/(/.+)?/
platform:
- x64
cache:
- '%SystemDrive%\ccache'
init:
- pwsh: |
$Env:APPVEYOR_SAVE_CACHE_ON_ERROR = 'true'
on_failure:
- appveyor PushArtifact build\meson-logs\meson-log.txt
- appveyor PushArtifact build\meson-logs\testlog.txt
install:
- cmd: set PATH=%PYTHON_DIR%;%PYTHON_DIR%\scripts;%PATH%
- cmd: pip install --upgrade ninja meson
- cmd: choco install opencppcoverage codecov ccache
- cmd: call "%VCVARSALL%" amd64
before_build:
- ps: |
git submodule -q update --init --recursive
if ($ENV:FLAGS -notlike "*ARCH*") {
echo "tests will be run"
} else {
echo "FLAGS is $ENV:FLAGS"
}
build_script:
- cmd: |
set CCACHE_DIR=%SystemDrive%\ccache
set CC=ccache.exe cl.exe
set CXX=ccache.exe cl.exe
ccache.exe --zero-stats
set CFLAGS=/WX /Z7 %FLAGS%
set CXXFLAGS=/WX /Z7 %FLAGS%
meson --backend=ninja build
meson compile -C build --verbose
ccache.exe --show-stats
test_script:
# "meson test -C build" fails due to excessively long command line
- ps: |
if ($ENV:FLAGS -notlike "*ARCH*") {
ninja -C build test
} else {
echo "skipping test"
}
## This seems to work; data shows up on CodeCov, but it emits an error
## which makes AppVeyor thing the whole build failed. Example:
## https://ci.appveyor.com/project/quixdb/ci-noise/build/job/e7d1wpt9icu77fn2
# after_test:
# - ps: |
# Invoke-WebRequest -Uri 'https://codecov.io/bash' -OutFile codecov.sh
# $env:APPVEYOR="true"
# $env:CI="true"
# bash codecov.sh -f "run-testsCoverage.xml"