forked from gitextensions/gitextensions
-
Notifications
You must be signed in to change notification settings - Fork 0
/
appveyor.yml
98 lines (85 loc) · 3.42 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
version: 3.00.00.{build}
os: Visual Studio 2017
branches:
except:
- configdata
- gh-pages
environment:
matrix:
- IdeVersion: VS2017
SKIP_PAUSE: TRUE
ARCHIVE_WITH_PDB: TRUE
# Build settings, not to be confused with "before_build" and "after_build".
# "project" is relative to the original build directory and not influenced by directory changes in "before_build".
build:
# enable MSBuild parallel builds
parallel: true
# MSBuild verbosity level
verbosity: minimal
cache:
#- packages -> **\packages.config # preserve "packages" directory in the root of build folder but will reset it if packages.config is modified
- packages\WiX.3.11.0 -> Setup\packages.config
install:
- cmd: git submodule update --init --recursive
- cmd: echo /logger:"%ProgramFiles%\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll">> Directory.Build.rsp
- cmd: |-
cd Setup
python set_version_to.py -v %APPVEYOR_BUILD_VERSION% -t %APPVEYOR_BUILD_VERSION%Dev@%APPVEYOR_REPO_COMMIT:~0,5%
cd ..
# to run your custom scripts instead of automatic MSBuild
build_script:
- ps: |
Write-Output "Platform: $env:IdeVersion"
& Setup\Build.cmd
if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode) }
# to run your custom scripts instead of automatic tests
test_script:
- ps: |
$testAssemblies = @(
"UnitTests\GitCommandsTests\bin\Release\GitCommandsTests.dll"
"UnitTests\GitUITests\bin\Release\GitUITests.dll"
"UnitTests\Plugins\ReleaseNotesGeneratorTests\bin\Release\ReleaseNotesGeneratorTests.dll"
"UnitTests\ResourceManagerTests\bin\Release\ResourceManagerTests.dll"
)
$packageConfig = [xml](Get-Content .nuget\packages.config)
$opencover_version = $packageConfig.SelectSingleNode('/packages/package[@id="OpenCover"]').version
$opencover_console = "packages\OpenCover.$opencover_version\tools\OpenCover.Console.exe"
&$opencover_console `
-register:user `
-returntargetcode `
-hideskipped:All `
-filter:"+[*]* -[FluentAssertions*]* -[SmartFormat*]* -[nunit*]*" `
-excludebyattribute:*.ExcludeFromCodeCoverage* `
-excludebyfile:*\*Designer.cs `
-output:"OpenCover.GitExtensions.xml" `
-target:"nunit3-console.exe" `
-targetargs:"$testAssemblies"
if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode) }
$codecov_version = $packageConfig.SelectSingleNode('/packages/package[@id="Codecov"]').version
$codecov = "packages\Codecov.$codecov_version\tools\codecov.exe"
&$codecov -f ".\OpenCover.GitExtensions.xml"
# scripts to run after tests
after_test:
- ps: |
& Setup\BuildInstallers.cmd
if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode) }
& Setup\Set-Portable.ps1 -IsPortable
if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode) }
& Setup\MakePortableArchive.cmd Release $env:APPVEYOR_BUILD_VERSION
if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode) }
& Setup\Set-Portable.ps1
if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode) }
artifacts:
# upload the generated portable archive only
- path: 'Setup/GitExtensions-Portable-*.zip'
# here we are going to override common configuration
for:
# configuration for all branches starting from "dev-"
# build in Debug mode and deploy locally for testing
-
branches:
only:
- /release\/.*/
artifacts:
# upload the generated installer
- path: 'Setup/GitExtensions-*.msi'