-
Notifications
You must be signed in to change notification settings - Fork 4
/
appveyor.yml
84 lines (71 loc) · 3.05 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
# gitversion will change the version number
version: x-{build}
configuration: Release
os: Visual Studio 2017
init:
- git config --global core.autocrlf input
- git config --global credential.helper store
- ps: Add-Content "$env:USERPROFILE\.git-credentials" "https://$($env:git_token):[email protected]`n"
- git config --global user.email "[email protected]"
- git config --global user.name "Appveyor CI"
cache:
- packages -> **\packages.config # preserve "packages" directory in the root of build folder but will reset it if packages.config is modified
environment:
COVERALLS_REPO_TOKEN:
secure: V9xDbTEM+fMPwZamEh+Tk1bLBxh0JYB4BEw74PRjDOAlQByfml+DirCOFIoPEjmT
git_token:
secure: NeX5NCOUXsCLc1UjTJjqB9F02FZ8Wq0VsxqTXC8kBdyK6zjxjebrf/9Da2sY1Kql
snk_secret:
secure: 5QzEIgiDqTIrZruPaIQIvTlNMl5BZ7TGEps7ALyBfHE=
# tools we need for bulding/testing/deploying
install:
- choco install gitversion.portable -pre -y
- choco install docfx -y
- npm install gh-pages -g
# - nuget install secure-file -ExcludeVersion
# - if defined snk_secret secure-file\tools\secure-file -decrypt src\ipfs.ci.snk.enc -secret %snk_secret% -out src\ipfs.dev.snk
# gitversion will change the assembly info
pull_requests:
do_not_increment_build_number: true
assembly_info:
patch: false
before_build:
- nuget restore
- ps: gitversion /output buildserver /updateAssemblyInfo >gitversion.log
build_script:
- dotnet build -c %CONFIGURATION% -p:Version=%GitVersion_MajorMinorPatch% -p:AssemblyVersion=%GitVersion_MajorMinorPatch%
- dotnet pack -c %CONFIGURATION% --no-build --no-restore -p:Version=%GitVersion_MajorMinorPatch% -p:AssemblyVersion=%GitVersion_MajorMinorPatch%
after_build:
- cmd: appveyor PushArtifact "src\bin\%CONFIGURATION%\Sepia.Globalization.%GitVersion_MajorMinorPatch%.nupkg"
test_script:
- dotnet test -c %CONFIGURATION% --no-build --no-restore test
after_test:
# Generate coverage report
- packages\OpenCover.4.6.519\tools\OpenCover.Console.exe
-register:user
-filter:"+[Sepia.Globalization]*"
-target:"c:\Program Files\dotnet\dotnet.exe"
-targetargs:"test -c Release --no-build --no-restore --framework netcoreapp2.0 test"
-output:coverage.xml
-hideskipped:File
-oldStyle
- if defined COVERALLS_REPO_TOKEN
packages\coveralls.net.0.6.0\tools\csmacnz.coveralls.exe
--opencover -i ./coverage.xml --useRelativePaths --serviceName appveyor --jobId %APPVEYOR_BUILD_NUMBER%
# Build documentation in doc\_site
- del src\obj\*.* /s /q
- docfx doc\docfx.json --logLevel Warning
- 7z a -tzip docs.zip doc\_site
- appveyor PushArtifact docs.zip
- if defined git_token gh-pages -d doc\_site -m "new docs %GitVersion_FullSemVer%"
# publish NuGet package on tag build
nuget:
account_feed: true
project_feed: true
disable_publish_on_pr: true
deploy:
- provider: NuGet
api_key:
secure: OdmGEj/l0K0ZPDmXAYx+fryCzV012eTrM29ALBuL0waxvwLvrufdDXiI+1iNhWEG
on:
appveyor_repo_tag: true