-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathazure-pipelines.yml
124 lines (108 loc) · 3.75 KB
/
azure-pipelines.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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
trigger:
- master
pool:
vmImage: 'windows-latest'
variables:
buildConfiguration: 'Release'
rid32: 'win-x86'
rid64: 'win-x64'
steps:
- task: UseDotNet@2
displayName: 'Install .NET Core SDK'
inputs:
version: 6.0.x
performMultiLevelLookup: true
- task: DotNetCoreCLI@2
displayName: Restore
inputs:
command: restore
projects: '**/*.csproj'
feedsToUse: config
nugetConfigPath: ./NuGet.config
- task: DotNetCoreCLI@2
displayName: 'Build 32-bit'
inputs:
command: build
projects: '**/*.csproj'
arguments: '--configuration $(buildConfiguration) /p:DefineConstants=IS_PIPELINES_BUILD -r $(rid32)'
- task: DotNetCoreCLI@2
displayName: 'Build 64-bit'
inputs:
command: build
projects: '**/*.csproj'
arguments: '--configuration $(buildConfiguration) /p:DefineConstants=IS_PIPELINES_BUILD -r $(rid64)'
- task: DotNetCoreCLI@2
displayName: 'Test'
inputs:
command: test
projects: 'Test/**/*.csproj'
arguments: '--configuration $(buildConfiguration) --runtime $(rid32) --no-build'
- task: PowerShell@2
displayName: 'Set app version variables'
inputs:
filePath: 'SetAppVerVariables.ps1'
- task: DotNetCoreCLI@2
displayName: 'Publish RVisUI 32-bit'
inputs:
command: publish
publishWebProjects: False
arguments: 'UI\RVisUI\RVisUI.csproj --configuration $(BuildConfiguration) /p:SelfContained=true -r $(rid32) --output $(Build.ArtifactStagingDirectory)/$(rid32)/RVis_v$(AppVer)'
zipAfterPublish: False
- task: DotNetCoreCLI@2
displayName: 'Publish RVis server 32-bit'
inputs:
command: publish
publishWebProjects: False
arguments: 'R\RVis.Server\RVis.Server.csproj --configuration $(BuildConfiguration) /p:SelfContained=true -r $(rid32) --output $(Build.ArtifactStagingDirectory)/$(rid32)/RVis_v$(AppVer)/R'
zipAfterPublish: False
- task: DotNetCoreCLI@2
displayName: 'Publish RVisUI 64-bit'
inputs:
command: publish
publishWebProjects: False
arguments: 'UI\RVisUI\RVisUI.csproj --configuration $(BuildConfiguration) /p:SelfContained=true -r $(rid64) --output $(Build.ArtifactStagingDirectory)/$(rid64)/RVis_v$(AppVer)'
zipAfterPublish: False
- task: DotNetCoreCLI@2
displayName: 'Publish RVis server 64-bit'
inputs:
command: publish
publishWebProjects: False
arguments: 'R\RVis.Server\RVis.Server.csproj --configuration $(BuildConfiguration) /p:SelfContained=true -r $(rid64) --output $(Build.ArtifactStagingDirectory)/$(rid64)/RVis_v$(AppVer)/R'
zipAfterPublish: False
- task: BatchScript@1
displayName: 'Publish modules'
inputs:
filename: 'prepare_release.bat'
arguments: '$(AppVer) $(Build.ArtifactStagingDirectory)'
- task: ArchiveFiles@2
displayName: 'Zip 32-bit'
inputs:
rootFolderOrFile: '$(Build.ArtifactStagingDirectory)/$(rid32)/RVis_v$(AppVer)'
includeRootFolder: true
archiveType: 'zip'
archiveFile: '$(Build.ArtifactStagingDirectory)/RVis_v$(AppVer).zip'
replaceExistingArchive: true
- task: ArchiveFiles@2
displayName: 'Zip 64-bit'
inputs:
rootFolderOrFile: '$(Build.ArtifactStagingDirectory)/$(rid64)/RVis_v$(AppVer)'
includeRootFolder: true
archiveType: 'zip'
archiveFile: '$(Build.ArtifactStagingDirectory)/RVis_v$(AppVer)_x64.zip'
replaceExistingArchive: true
- task: GitHubRelease@1
displayName: 'Release zips on GitHub'
inputs:
gitHubConnection: 'GH-GMPtk-RVis'
repositoryName: '$(Build.Repository.Name)'
action: 'create'
target: '$(Build.SourceVersion)'
tagSource: 'userSpecifiedTag'
tag: 'v$(AppVer)'
title: 'RVis v$(AppVer)'
releaseNotesFilePath: 'release_notes.md'
assets: |
$(Build.ArtifactStagingDirectory)/RVis_v$(AppVer).zip
$(Build.ArtifactStagingDirectory)/RVis_v$(AppVer)_x64.zip
isPreRelease: true
addChangeLog: false