-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.appveyor.yml
130 lines (97 loc) · 3.34 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
122
123
124
125
126
127
128
129
130
image:
- Visual Studio 2019
- Ubuntu2004
- macos
platform:
- x64
configuration:
- Release
skip_tags: true
environment:
APPVEYOR_YML_DISABLE_PS_LINUX: true
for:
-
matrix:
only:
- image: Ubuntu2004
cache:
- /home/appveyor/.conan -> conanfile.txt
- /home/appveyor/.cache/pip -> .appveyor.yml
install:
# Clone any Git submodules
- git submodule -q update --init
# Enable `--no-install-recommends` by default
- apt-config dump | grep -we Recommends -e Suggests | sed s/1/0/ | sudo tee /etc/apt/apt.conf.d/999norecommend
# Install clang 10
- export CC=clang-10 CXX=clang++-10
- sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-10 100
- sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-10 100
- sudo update-alternatives --install /usr/bin/cc cc /usr/bin/clang-10 100
- sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-10 100
# Doxygen and graphviz are required by the `doc` target
- sudo apt-get install -y -q doxygen graphviz
# Install Conan
- sudo DEBIAN_FRONTEND=noninteractive apt-get install -y -q python3 python3-pip python3-setuptools python3-wheel
- sudo -H pip3 install conan
before_build:
- mkdir -p build; cd build; cmake -G Ninja -DCMAKE_BUILD_TYPE=$CONFIGURATION ..
build_script:
- ninja
test_script:
- ctest
-
matrix:
only:
- image: macos
environment:
HOMEBREW_NO_AUTO_UPDATE: '1'
HOMEBREW_NO_INSTALL_CLEANUP: '1'
cache:
- /Users/appveyor/.conan -> conanfile.txt
- /Users/appveyor/Library/Caches/pip -> .appveyor.yml
install:
# Clone any Git submodules
- git submodule -q update --init
# Doxygen and graphviz are required by the `doc` target
- brew install doxygen graphviz
# Install Conan
- sudo -H pip3 install conan
before_build:
- mkdir -p build; cd build; cmake -G Xcode ..
build_script:
- xcodebuild -project CI-CD-Tests.xcodeproj -configuration $CONFIGURATION
test_script:
- ctest -C $CONFIGURATION
-
matrix:
only:
- image: Visual Studio 2019
cache:
- C:\Users\Appveyor\choco-cache -> .appveyor.yml
- C:\Users\Appveyor\.conan -> conanfile.txt
- C:\Users\Appveyor\AppData\Local\pip\Cache -> .appveyor.yml
install:
# Clone any Git submodules
- git submodule -q update --init
# Change where Chocolatey caches downloads
- choco config set cacheLocation C:\Users\Appveyor\choco-cache
# Doxygen and graphviz are required by the `doc` target
- choco upgrade --no-progress doxygen.install graphviz
# Use GitVersion for setting the semantic version
- choco upgrade --no-progress gitversion.portable
# Install Conan
- pip install conan
before_build:
- ps: gitversion /l console /output buildserver
- cmake -G "Visual Studio 16 2019" -A x64 .
build_script:
- msbuild %APPVEYOR_PROJECT_NAME%.sln /m /p:BuildInParallel="True" /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
test_script:
- ctest -C %CONFIGURATION%
before_deploy:
- git config --global credential.helper store
- ps: Add-Content "$HOME\.git-credentials" "https://$($env:GITHUB_TOKEN):x-oauth-basic@github.com`n"
deploy_script:
- if %APPVEYOR_REPO_BRANCH% NEQ master appveyor exit
- git tag v%GitVersion_SemVer%
- git push --tags