This repository has been archived by the owner on Apr 6, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
appveyor.yml
93 lines (64 loc) · 2.9 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
version: 2.0.0.{build}
environment:
stage: alpha
release_notes: 'Stunning New.'
solution_path: src\Analyzer1.sln
test_dll_dir: src\Analyzer1\Analyzer1.Test\bin\Release
COVERALLS_REPO_TOKEN:
secure: iYa1LgPg9YAHaD3zagivsEDqeAE9fCkzw2ykOrVc5q+PNSjpauiX6pTFk9TnokrS
pull_requests:
do_not_increment_build_number: true
os: Visual Studio 2015
configuration: Release
platform: Any CPU
assembly_info:
patch: true
file: '**\AssemblyInfo.*'
assembly_version: '{version}'
assembly_file_version: '{version}'
assembly_informational_version: '{version}'
before_build:
- ps: >-
$VERSION = $env:APPVEYOR_BUILD_VERSION
$STAGE = $env:stage
$vs = $VERSION -split "\."
$env:nupkg_version = $vs[0] + "." + $vs[1] + "." + $vs[2]
$env:is_prerelease = "false"
if($STAGE -ne "release"){ # prerelease
$env:nupkg_version = $env:nupkg_version + "-" + $STAGE
$env:is_prerelease = "true"
}
# rewrite
$nuspec = (ls $env:APPVEYOR_BUILD_FOLDER -Recurse).Where{ $_.Extension -eq ".nuspec"} | Select -First 1
[xml]$xml = Get-Content $nuspec.FullName
$xml.package.metadata.version = $env:nupkg_version
$xml.package.metadata.releaseNotes = $env:release_notes
$xml.Save($nuspec.FullName)
nuget restore $env:solution_path
Remove-Item "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Amazon Web Services LLC" -Recurse -Force
build:
project: $(solution_path)
verbosity: minimal
after_build:
- ps: >-
$folder = $env:APPVEYOR_BUILD_FOLDER + "\" + ($env:solution_path -split "\.")[0]
(Get-ChildItem $folder -Recurse).Where{ $_.Extension -eq ".nupkg"} | %{ Push-AppveyorArtifact $_.FullName -FileName $_.Name }
test_script:
- ps: >-
$opencover = (Resolve-Path "src/packages/OpenCover.*/tools/OpenCover.Console.exe").ToString()
$runner = (Resolve-Path "src\packages\xunit.runner.console.*\tools\xunit.console.x86.exe").ToString()
$coveralls = (Resolve-Path "src/packages/coveralls.net.*/tools/csmacnz.coveralls.exe").ToString()
$targetargs = """Analyzer1.dll"" ""Analyzer1.Test.dll"" -noshadow -appveyor"
$filter = "+[Analyzer1*]* -[Analyzer1.Test*]*"
& $opencover -register:user -target:$runner "-targetargs:$targetargs" -targetdir:$env:test_dll_dir "-filter:$filter" -hideskipped:Filter -output:opencoverCoverage.xml
& $coveralls --opencover -i opencoverCoverage.xml --repoToken $env:COVERALLS_REPO_TOKEN --commitId $env:APPVEYOR_REPO_COMMIT --commitBranch $env:APPVEYOR_REPO_BRANCH --commitAuthor $env:APPVEYOR_REPO_COMMIT_AUTHOR --commitEmail $env:APPVEYOR_REPO_COMMIT_AUTHOR_EMAIL --commitMessage $env:APPVEYOR_REPO_COMMIT_MESSAGE --jobId $env:APPVEYOR_JOB_ID
deploy:
- provider: GitHub
tag: $(nupkg_version)
release: $(nupkg_version)
description: $(release_notes)
auth_token:
secure: ld1RBkNTi/7LQRJhZJXjATWL/TdysxJRPcTjyKVvsnLumE7ulNyIUy40eASxX4bv
prerelease: $(is_prerelease)
on:
branch: master