-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathazure-pipelines-Dev.yml
118 lines (101 loc) · 4.03 KB
/
azure-pipelines-Dev.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
# .NET Desktop
# Build and run tests for .NET Desktop or Windows classic desktop solutions.
# Add steps that publish symbols, save build artifacts, and more:
# https://docs.microsoft.com/azure/devops/pipelines/apps/windows/dot-net
name: 3.2.$(Rev:r).$(DayOfYear)
trigger:
branches:
include:
- develop
jobs:
- job: 'develop'
pool:
vmImage: 'windows-2022'
variables:
solution: 'Gorgon.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Debug'
steps:
- checkout: self
submodules: true
- task: CmdLine@2
displayName: 'Updating version to $(Build.BuildNumber)'
inputs:
script: 'CsProjVersionUpdater.exe $(Build.BuildNumber)'
- task: NuGetToolInstaller@1
inputs:
checkLatest: true
- task: NuGetCommand@2
inputs:
restoreSolution: '$(solution)'
- task: DownloadSecureFile@1
inputs:
secureFile: GorgonFull.snk
- task: CmdLine@2
displayName: 'Signing code...'
inputs:
script: 'ProjectSigner.exe $(Agent.TempDirectory)\GorgonFull.snk -y'
- task: VSBuild@1
inputs:
clean: true
solution: '$(solution)'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
msbuildArgs: '/p:SourceLinkCreate=true'
- task: CopyFiles@2
displayName: 'Copying Lib to $(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'
inputs:
SourceFolder: '$(Build.SourcesDirectory)/Gorgon'
Contents: |
**/$(buildConfiguration)/**/?(*.dll|Gorgon*.xml|Gorgon*.pdb)
!**/obj/**/*
!**/$(buildConfiguration)/**/net48/**/*
!**/$(buildConfiguration)/**/**/ref/**/*
CleanTargetFolder: true
TargetFolder: '$(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/lib'
flattenFolders: true
Overwrite: true
- task: CopyFiles@2
displayName: 'Copying Plugins to $(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/PlugIns'
inputs:
SourceFolder: '$(Build.SourcesDirectory)/PlugIns/Bin/$(buildConfiguration)/'
Contents: '**/?(*.dll|Gorgon*.pdb)'
CleanTargetFolder: true
TargetFolder: '$(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/PlugIns'
- task: CopyFiles@2
displayName: 'Copying Tools to $(Build.ArtifactStagingDirectory)/Gorgon/Tools'
inputs:
SourceFolder: '$(Build.SourcesDirectory)/Tools/Editor/Gorgon.Editor/bin/$(buildConfiguration)'
Contents: |
**/?(*.exe|*.dll|*.config|Gorgon.Editor.API.xml|Readme.txt|Gorgon.Editor.runtimeconfig.json)
!**/TextViewerContentExample.*
!**/**/ref/**/*
!**/net48/**/*
CleanTargetFolder: true
TargetFolder: '$(Build.ArtifactStagingDirectory)/$(buildConfiguration)/Gorgon/Tools'
- task: CopyFiles@2
displayName: 'Copying nuget files to artifacts'
inputs:
SourceFolder: '$(Build.SourcesDirectory)/nuget/debug'
Contents: '**/*'
CleanTargetFolder: true
TargetFolder: '$(Build.ArtifactStagingDirectory)/NugetSupport/Debug'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: develop_drop
# Index sources and publish symbols
# Index your source code and publish symbols to a file share or Azure Artifacts symbol server
- task: PublishSymbols@2
inputs:
SymbolsFolder: '$(Build.SourcesDirectory)'
SearchPattern: |
**/bin/**/Gorgon*.pdb
!**/Dependencies/**
!**/Examples/**
IndexSources: false
PublishSymbols: true
SymbolServerType: 'TeamServices'
DetailedLog: true
TreatNotIndexedAsWarning: false
SymbolsArtifactName: 'Gorgon_Symbols_$(BuildConfiguration)_$(Build.BuildNumber)'