1# AppVeyor build configuration
2# https://www.appveyor.com/docs/build-configuration
3# https://www.appveyor.com/docs/appveyor-yml/
4#---------------------------------#
5#      general configuration      #
6#---------------------------------#
7
8# version format
9version: 1.0.1.0.0.7.{build}-{branch}
10
11#---------------------------------#
12#    environment configuration    #
13#---------------------------------#
14
15# Build worker image (VM template)
16image: Visual Studio 2017
17# Enable Windows RDP Client Access to Build Worker
18init:
19  - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
20
21#---------------------------------#
22#       build configuration       #
23#---------------------------------#
24
25# add several platforms to build matrix:
26platform:
27  - x64
28#  - ARM
29#  - Win32
30# add several configurations to build matrix:
31configuration:
32  - Release
33  - Debug
34#  - AnalysisRelease
35matrix:
36  allow_failures:
37    - platform: ARM
38    - platform: Win32
39    - configuration: AnalysisRelease
40    - configuration: Debug
41
42# scripts to run before build
43before_build:
44# packages from nuget
45  - nuget restore %APPVEYOR_BUILD_FOLDER%\mandelbulber2\msvc\mandelbulber2.sln
46
47# use custom build_script
48build_script:
49- ECHO BUILD %CONFIGURATION% %PLATFORM%
50- ps: msbuild $env:APPVEYOR_BUILD_FOLDER\mandelbulber2\msvc\mandelbulber2.sln /m /p:Configuration=$env:CONFIGURATION /p:Platform=$env:PLATFORM /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
51
52# scripts to run after build
53after_build:
54  - cmd /c %APPVEYOR_BUILD_FOLDER%\mandelbulber2\tools\bench\bench.bat
55  # zip the bench archive
56  - tree /F build-win\Bench
57  - 7z a mandelbulber-bench-%CONFIGURATION%-%PLATFORM%-%APPVEYOR_REPO_COMMIT%.zip build-win\Bench
58  # zip the build archive
59  - tree /F build-win\%CONFIGURATION%\%PLATFORM%
60  - 7z a mandelbulber-%CONFIGURATION%-%PLATFORM%-%APPVEYOR_REPO_COMMIT%.zip build-win\%CONFIGURATION%\%PLATFORM%
61
62#---------------------------------#
63#       tests configuration       #
64#---------------------------------#
65
66# to disable automatic tests
67test: off
68
69#---------------------------------#
70#      artifacts configuration    #
71#---------------------------------#
72
73#specify artifacts to upload
74artifacts:
75  - path: mandelbulber-%CONFIGURATION%-%PLATFORM%-%APPVEYOR_REPO_COMMIT%.zip
76    name: Mandelbulber-%CONFIGURATION%-%PLATFORM%
77  - path: build-win\Setup\%CONFIGURATION%\%PLATFORM%\*
78    name: Mandelbulber-Setup-%CONFIGURATION%-%PLATFORM%
79  - path: mandelbulber-bench-%CONFIGURATION%-%PLATFORM%-%APPVEYOR_REPO_COMMIT%.zip
80    name: Mandelbulber-BENCH-%CONFIGURATION%-%PLATFORM%
81
82
83#---------------------------------#
84#     deployment configuration    #
85#---------------------------------#
86
87# to disable deployment
88deploy: off
89
90#---------------------------------#
91#        global handlers          #
92#---------------------------------#
93
94# on successful build
95on_success:
96  - ECHO "BUILD VICTORY"
97
98# on build failure
99on_failure:
100  - ECHO "TRY AND TRY AGAIN"
101
102# after build failure or success
103on_finish:
104#  - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
105# https://www.appveyor.com/docs/environment-variables/
106# Environment variables that are set by AppVeyor for every build:
107# APPVEYOR - True if build runs in AppVeyor environment;
108  - ECHO %APPVEYOR%
109# CI - True if build runs in AppVeyor environment;
110  - ECHO %CI%
111# APPVEYOR_API_URL - AppVeyor Build Agent API URL;
112  - ECHO %APPVEYOR_API_URL%
113# APPVEYOR_ACCOUNT_NAME - account name;
114  - ECHO %APPVEYOR_ACCOUNT_NAME%
115# APPVEYOR_PROJECT_ID - AppVeyor unique project ID;
116  - ECHO %APPVEYOR_PROJECT_ID%
117# APPVEYOR_PROJECT_NAME - project name;
118  - ECHO %APPVEYOR_PROJECT_NAME%
119# APPVEYOR_PROJECT_SLUG - project slug (as seen in project details URL);
120  - ECHO %APPVEYOR_PROJECT_SLUG%
121# APPVEYOR_BUILD_FOLDER - path to clone directory;
122  - ECHO %APPVEYOR_BUILD_FOLDER%
123# APPVEYOR_BUILD_ID - AppVeyor unique build ID;
124  - ECHO %APPVEYOR_BUILD_ID%
125# APPVEYOR_BUILD_NUMBER - build number;
126  - ECHO %APPVEYOR_BUILD_NUMBER%
127# APPVEYOR_BUILD_VERSION - build version;
128  - ECHO %APPVEYOR_BUILD_VERSION%
129# APPVEYOR_PULL_REQUEST_NUMBER - GitHub Pull Request number;
130  - ECHO %APPVEYOR_PULL_REQUEST_NUMBER%
131# APPVEYOR_PULL_REQUEST_TITLE - GitHub Pull Request title
132  - ECHO %APPVEYOR_PULL_REQUEST_TITLE%
133# APPVEYOR_JOB_ID - AppVeyor unique job ID;
134  - ECHO %APPVEYOR_JOB_ID%
135# APPVEYOR_JOB_NAME - job name;
136  - ECHO %APPVEYOR_JOB_NAME%
137# APPVEYOR_REPO_PROVIDER - github, bitbucket, kiln, vso or gitlab;
138  - ECHO %APPVEYOR_REPO_PROVIDER%
139# APPVEYOR_REPO_SCM - git or mercurial;
140  - ECHO %APPVEYOR_REPO_SCM%
141# APPVEYOR_REPO_NAME - repository name in format owner-name/repo-name;
142  - ECHO %APPVEYOR_REPO_NAME%
143# APPVEYOR_REPO_BRANCH - build branch. For Pull Request commits it is base branch PR is merging into;
144  - ECHO %APPVEYOR_REPO_BRANCH%
145# APPVEYOR_REPO_TAG - true if build has started by pushed tag; otherwise false;
146  - ECHO %APPVEYOR_REPO_TAG%
147# APPVEYOR_REPO_TAG_NAME - contains tag name for builds started by tag; otherwise this variable is undefined;
148  - ECHO %APPVEYOR_REPO_TAG_NAME%
149# APPVEYOR_REPO_COMMIT - commit ID (SHA);
150  - ECHO %APPVEYOR_REPO_COMMIT%
151# APPVEYOR_REPO_COMMIT_AUTHOR - commit author’s name;
152  - ECHO %APPVEYOR_REPO_COMMIT_AUTHOR%
153# APPVEYOR_REPO_COMMIT_AUTHOR_EMAIL - commit author’s email address;
154  - ECHO %APPVEYOR_REPO_COMMIT_AUTHOR_EMAIL%
155# APPVEYOR_REPO_COMMIT_TIMESTAMP - commit date/time;
156  - ECHO %APPVEYOR_REPO_COMMIT_TIMESTAMP%
157#
158# commit message disabled; can cause false failure
159#
160# APPVEYOR_REPO_COMMIT_MESSAGE - commit message;
161#  - ECHO %APPVEYOR_REPO_COMMIT_MESSAGE%
162# APPVEYOR_REPO_COMMIT_MESSAGE_EXTENDED - the rest of commit message after line break (if exists);
163#  - ECHO %APPVEYOR_REPO_COMMIT_MESSAGE_EXTENDED%
164# APPVEYOR_SCHEDULED_BUILD - True if the build runs by scheduler;
165  - ECHO %APPVEYOR_SCHEDULED_BUILD%
166# APPVEYOR_FORCED_BUILD (True or undefined) - builds started by “New build” button or from the same API;
167  - ECHO %APPVEYOR_FORCED_BUILD%
168# APPVEYOR_RE_BUILD (True or undefined) - build started by “Re-build commit/PR” button of from the same API;
169  - ECHO %APPVEYOR_RE_BUILD%
170# PLATFORM - platform name set on Build tab of project settings (or through platform parameter in appveyor.yml);
171  - ECHO %PLATFORM%
172# CONFIGURATION - configuration name set on Build tab of project settings (or through configuration parameter in appveyor.yml);
173  - ECHO %CONFIGURATION%
174
175#---------------------------------#
176#         notifications           #
177#---------------------------------#
178notifications:
179  - provider: Webhook
180    url: https://webhooks.gitter.im/e/093389bb43bd353724ae
181  - provider: Email
182    to:
183      - buddhi1980@gmail.com
184      - sebastian.jennen@gmx.de
185      - RobertPancoast77@gmail.com
186
187
188