forked from dsccommunity/DscWorkshop
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathazure-pipelines.yml
98 lines (87 loc) · 2.99 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
trigger:
branches:
include:
- '*'
paths:
exclude:
- CHANGELOG.md
tags:
include:
- "v*"
exclude:
- "*-*"
variables:
buildFolderName: output
testResultFolderName: testResults
defaultBranch: main
Agent.Source.Git.ShallowFetchDepth: 0
stages:
- stage: Build
jobs:
- job: Compile_Dsc
displayName: 'Compile DSC Configuration'
pool:
vmImage: 'windows-2019'
steps:
- pwsh: |
dir -Path env: | Out-String | Write-Host
displayName: 'Display Environment Variables'
- pwsh: |
dotnet tool install --global GitVersion.Tool
$gitVersionObject = dotnet-gitversion | ConvertFrom-Json
$gitVersionObject.PSObject.Properties.ForEach{
Write-Host -Object "Setting Task Variable '$($_.Name)' with value '$($_.Value)'."
Write-Host -Object "##vso[task.setvariable variable=$($_.Name);]$($_.Value)"
}
Write-Host -Object "##vso[build.updatebuildnumber]$($gitVersionObject.FullSemVer)"
displayName: Calculate ModuleVersion (GitVersion)
- task: PowerShell@2
name: build
displayName: 'Build DSC Artifacts'
inputs:
filePath: './build.ps1'
arguments: '-ResolveDependency -tasks build'
pwsh: false
env:
ModuleVersion: $(NuGetVersionV2)
- task: PowerShell@2
name: pack
displayName: 'Pack DSC Artifacts'
inputs:
filePath: './build.ps1'
arguments: '-ResolveDependency -tasks pack'
- task: PublishPipelineArtifact@1
displayName: 'Publish Output Folder'
inputs:
targetPath: '$(buildFolderName)/'
artifact: 'output'
publishLocation: 'pipeline'
parallel: true
- task: PublishPipelineArtifact@1
displayName: 'Publish MOF Files'
inputs:
targetPath: '$(buildFolderName)/MOF'
artifact: 'MOF'
publishLocation: 'pipeline'
parallel: true
- task: PublishPipelineArtifact@1
displayName: 'Publish Meta MOF Files'
inputs:
targetPath: '$(buildFolderName)/MetaMOF'
artifact: 'MetaMOF'
publishLocation: 'pipeline'
parallel: true
- task: PublishPipelineArtifact@1
displayName: 'Publish Compressed Modules'
inputs:
targetPath: '$(buildFolderName)/CompressedModules'
artifact: 'CompressedModules'
publishLocation: 'pipeline'
parallel: true
- task: PublishPipelineArtifact@1
displayName: 'Publish RSOP Files'
inputs:
targetPath: '$(buildFolderName)/RSOP'
artifact: 'RSOP'
publishLocation: 'pipeline'
parallel: true