Skip to content

Commit dcfa876

Browse files
committed
Update pipeline to include tests
1 parent 4e3f061 commit dcfa876

File tree

1 file changed

+80
-74
lines changed

1 file changed

+80
-74
lines changed

templates/AppLockerProject/azurepipelines.yml

Lines changed: 80 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -3,83 +3,89 @@ trigger:
33
include:
44
- main
55

6-
stages:
7-
- stage: build
8-
jobs:
9-
- job: Build
10-
displayName: 'Build AppLocker Artifacts'
11-
pool:
12-
name: Default
13-
workspace:
14-
clean: all
15-
steps:
16-
- task: PowerShell@2
17-
name: prereq
18-
displayName: 'Download prerequisites'
6+
jobs:
7+
- job: Build
8+
displayName: 'Build AppLocker Artifacts'
9+
pool:
10+
name: Default
11+
steps:
12+
- task: PowerShell@2
13+
name: prereq
14+
displayName: 'Download prerequisites'
15+
inputs:
16+
filePath: '.\build\prerequisites.ps1'
17+
arguments: '-DependencyPath (Join-Path $(Build.SourcesDirectory) build\requiredModules.psd1)'
18+
- task: PowerShell@2
19+
name: validateyaml
20+
displayName: Validate Configuration Data
21+
inputs:
22+
filePath: '.\build\validate.ps1'
23+
arguments: '-TestType ConfigurationData -DependencyPath (Join-Path $(Build.SourcesDirectory) build\requiredModules.psd1) -ProjectRoot $(Build.SourcesDirectory)'
24+
- task: PowerShell@2
25+
name: buildpolicy
26+
displayName: Build policy XML
27+
inputs:
28+
filePath: '.\build\build.ps1'
29+
arguments: '-IncludeRsop -DependencyPath (Join-Path $(Build.SourcesDirectory) build\requiredModules.psd1) -SourcePath (Join-Path $(Build.SourcesDirectory) configurationdata) -OutputPath (Join-Path $(Build.SourcesDirectory) output)'
30+
- task: PublishBuildArtifacts@1
31+
displayName: 'Publish Policy XML Files'
32+
inputs:
33+
PathtoPublish: 'output/Policies'
34+
ArtifactName: Policies
35+
- task: PublishBuildArtifacts@1
36+
displayName: 'Publish Policy RSOP Files'
37+
inputs:
38+
PathtoPublish: 'output/Rsop'
39+
ArtifactName: Rsop
40+
- task: PublishTestResults@2
41+
displayName: 'Publish Configuration Data Test Results'
42+
condition: succeededOrFailed()
43+
inputs:
44+
testResultsFormat: 'NUnit'
45+
testResultsFiles: 'tests/testresults.xml'
46+
mergeTestResults: true
47+
failTaskOnFailedTests: true
48+
testRunTitle: 'Configuration Data Tests'
49+
- deployment: Prod
50+
dependsOn: Build
51+
displayName: Prod Deployment
52+
environment: Prod
53+
pool:
54+
name: Default
55+
strategy:
56+
runOnce:
57+
deploy:
58+
steps:
59+
- task: DownloadBuildArtifacts@0
60+
displayName: 'Download Build Artifact: Rsop'
1961
inputs:
20-
filePath: '.\build\prerequisites.ps1'
21-
arguments: '-DependencyPath .\build\requiredModules.psd1'
22-
- task: PowerShell@2
23-
name: validateyaml
24-
displayName: Validate Configuration Data
62+
buildType: 'current'
63+
artifactName: Rsop
64+
downloadPath: $(Build.SourcesDirectory)
65+
- task: DownloadBuildArtifacts@0
66+
displayName: 'Download Build Artifact: Policies'
2567
inputs:
26-
filePath: '.\build\validate.ps1'
27-
arguments: '-TestType ConfigurationData -DependencyPath .\build\requiredModules.psd1'
68+
buildType: 'current'
69+
artifactName: Policies
70+
downloadPath: $(Build.SourcesDirectory)
2871
- task: PowerShell@2
29-
name: buildpolicy
30-
displayName: Build policy XML
72+
name: publishpolicies
73+
displayName: Publish policies
3174
inputs:
32-
filePath: '.\build\build.ps1'
33-
arguments: '-IncludeRsop -DependencyPath .\build\requiredModules.psd1'
34-
35-
- task: PublishBuildArtifacts@1
36-
displayName: 'Publish Policy XML Files'
75+
filePath: '.\build\publish.ps1'
76+
arguments: '-DependencyPath (Join-Path $(Build.SourcesDirectory) build\requiredModules.psd1) -OutputPath (Join-Path $(Build.SourcesDirectory) output)'
77+
- task: PowerShell@2
78+
name: validateintegration
79+
displayName: Validate Integration
3780
inputs:
38-
PathtoPublish: 'output/Policies'
39-
ArtifactName: Policies
40-
41-
- task: PublishBuildArtifacts@1
42-
displayName: 'Publish Policy RSOP Files'
81+
filePath: '.\build\validate.ps1'
82+
arguments: '-TestType Integration -DependencyPath (Join-Path $(Build.SourcesDirectory) build\requiredModules.psd1) -ProjectRoot $(Build.SourcesDirectory)'
83+
- task: PublishTestResults@2
84+
displayName: 'Publish Integration Test Results'
85+
condition: succeededOrFailed()
4386
inputs:
44-
PathtoPublish: 'output/Rsop'
45-
ArtifactName: Rsop
46-
- stage: publish
47-
dependsOn: build
48-
jobs:
49-
- deployment: Prod
50-
displayName: Prod Deployment
51-
environment: Prod
52-
pool:
53-
name: Default
54-
workspace:
55-
clean: all
56-
strategy:
57-
runOnce:
58-
deploy:
59-
steps:
60-
- download: None
61-
62-
- task: DownloadBuildArtifacts@0
63-
displayName: 'Download Build Artifact: Rsop'
64-
inputs:
65-
buildType: 'current'
66-
artifactName: Rsop
67-
downloadPath: $(Build.SourcesDirectory)
68-
- task: DownloadBuildArtifacts@0
69-
displayName: 'Download Build Artifact: Policies'
70-
inputs:
71-
buildType: 'current'
72-
artifactName: Policies
73-
downloadPath: $(Build.SourcesDirectory)
74-
- task: PowerShell@2
75-
name: publishpolicies
76-
displayName: Publish policies
77-
inputs:
78-
filePath: '.\build\publish.ps1'
79-
arguments: '-OutputPath $(Build.SourcesDirectory) -DependencyPath .\build\requiredModules.psd1'
80-
- task: PowerShell@2
81-
name: validateintegration
82-
displayName: Validate Integration
83-
inputs:
84-
filePath: '.\build\validate.ps1'
85-
arguments: '-TestType Integration -DependencyPath .\build\requiredModules.psd1'
87+
testResultsFormat: 'NUnit'
88+
testResultsFiles: 'tests/testresults.xml'
89+
mergeTestResults: true
90+
failTaskOnFailedTests: true
91+
testRunTitle: 'Integration Tests'

0 commit comments

Comments
 (0)