-
Notifications
You must be signed in to change notification settings - Fork 22
/
appveyor-nightly.yml
84 lines (71 loc) · 3.19 KB
/
appveyor-nightly.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
# AppVeyor configuration for AppVeyor project "Egoboo Nightly".
clone_depth: 1
# Build worker image (VM template)
image: Visual Studio 2017
platform:
- x86
- x64
configuration:
- Debug
- Release
skip_tags: true
branches:
only:
- master
init:
- ps: Update-AppveyorBuild -Version "$(Get-Date -format yyyy-MM-dd-HH-mm-ss)"
install:
# depth 32 should be enough.
git submodule update --init --recursive --depth 32
# Package artifacts and push packaged artifacts.
after_build:
- ps: |
./distribute -configuration ${env:configuration} -platform ${env:platform} -suffix ${env:suffix}
Push-AppveyorArtifact "${env:APPVEYOR_BUILD_FOLDER}/${env:artifactFileName}" -FileName "${env:artifactFileName}" -DeploymentName "${env:artifactName}"
# Restore nuget packages and install dependencies.
# Furthermore, the artifact name and the artifact file name are computed.
before_build:
- nuget restore
- ps: .\install-vsix-appveyor.ps1
- ps: |
# Compute the suffix, the platform name, and the configuration name.
$env:suffix = "nightly-${env:APPVEYOR_BUILD_VERSION}"
$env:platformName = "$env:platform"
if ($env:platformName -eq "Win32") { $env:platformName = "x86" }
$env:configurationName = "$(${env:configuration}.ToLower())"
# Compute the artifact name.
$env:artifactName = "egoboo-$env:configurationName-$env:platformName-$env:suffix"
# Compute the artifact file name.
$env:artifactFileName = "${env:artifactName}.zip"
# Compute the deployment name, the deployment tag, and the deployment description.
$env:deploymentName = "egoboo-$env:configurationName-$env:platformName-$env:suffix"
$env:deploymentTag = "egoboo-$env:configurationName-$env:platformName-$env:suffix"
$env:deploymentDescription = "Nightly $env:configurationName build of Egoboo for platform $env:platformName as of $(Get-Date -format F) ."
build:
parallel: true # enable MSBuild parallel builds
project: egoboo.sln # path to Visual Studio solution or project
test_script:
- ps: |
$platform = $env:platform
if ($platform -eq "Win32") { $platform = "x86" }
vstest.console /Logger:Appveyor /ListDiscoverers /UseVsixExtensions:true
vstest.console /Logger:Appveyor /ListExecutors /UseVsixExtensions:true
vstest.console /Logger:Appveyor /Platform:$platform /inIsolation /UseVsixExtensions:true "product\idlib-tests\$env:configuration\$env:platform\idlib-tests.exe"
vstest.console /Logger:Appveyor /Platform:$platform /inIsolation /UseVsixExtensions:true "product\egolib-tests\$env:configuration\$env:platform\egolib-tests.exe"
# if one matrix entry fails, all entries fails
# https://www.appveyor.com/docs/build-configuration#failing-strategy
matrix:
fast_finish: true
notifications:
- provider: Webhook
url: https://webhooks.gitter.im/e/7743b26cbf1767e7b3a3
on_build_success: true
on_build_failure: true
deploy:
- provider: FTP
protocol: ftps
host: downloads.egoboo.org
username: qgsahyfevqy5g8j7
password:
secure: pHPbMEbnzJMogki9K+TayA==
folder: /