-
Notifications
You must be signed in to change notification settings - Fork 102
134 lines (126 loc) · 4.44 KB
/
build.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
125
126
127
128
129
130
131
132
133
134
# run the Powershell scripts in build folder as part of a GitHub Action
name: d365fo.tools-PR-Test
on:
push:
branches:
- development
pull_request:
workflow_dispatch:
jobs:
prerequisites:
name: Prerequisites
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Cache Powershell Modules
uses: actions/cache@v4
with:
path: C:\Users\runneradmin\Documents\WindowsPowerShell\Modules
key: 20210527|${{ hashFiles('**/vsts-prerequisites.ps1') }}
- name: Prerequisites
shell: powershell
run: build\vsts-prerequisites.ps1
general-unit-tests:
name: Validate General Unit Tests
runs-on: windows-latest
needs: prerequisites
steps:
- uses: actions/checkout@v4
- name: Cache Powershell Modules
id: cache-powershell-modules
uses: actions/cache@v4
with:
path: C:\Users\runneradmin\Documents\WindowsPowerShell\Modules
key: 20210527|${{ hashFiles('**/vsts-prerequisites.ps1') }}
- name: Prerequisites
if: steps.cache-powershell-modules.outputs.cache-hit != 'true'
shell: powershell
run: build\vsts-prerequisites.ps1
- name: Validate
shell: powershell
run: build\vsts-validate.ps1 -TestGeneral $true -TestFunctions $false -Exclude "PSScriptAnalyzer.Tests.ps1"
- name: Publish Test Results **/TEST-*.xml
if: always()
uses: EnricoMi/publish-unit-test-result-action/windows@v2
with:
files: '**/TEST-*.xml'
check_name: 'General Unit Tests Results'
comment_mode: 'off'
public-functions-unit-tests:
name: Validate Public Functions using PSScriptAnalyzer Unit Tests
runs-on: windows-latest
needs: prerequisites
steps:
- uses: actions/checkout@v4
- name: Cache Powershell Modules
id: cache-powershell-modules
uses: actions/cache@v4
with:
path: C:\Users\runneradmin\Documents\WindowsPowerShell\Modules
key: 20210527|${{ hashFiles('**/vsts-prerequisites.ps1') }}
- name: Prerequisites
if: steps.cache-powershell-modules.outputs.cache-hit != 'true'
shell: powershell
run: build\vsts-prerequisites.ps1
- name: Validate
shell: powershell
run: build\vsts-validate-psscriptanalyzer.ps1 -TestPublic $true -TestInternal $false
- name: Publish Test Results **/TEST-*.xml
if: always()
uses: EnricoMi/publish-unit-test-result-action/windows@v2
with:
files: '**/TEST-*.xml'
check_name: 'Public Functions Unit Tests Results'
comment_mode: 'off'
internal-functions-unit-tests:
name: Validate Internal Functions using PSScriptAnalyzer Unit Tests
runs-on: windows-latest
needs: Prerequisites
steps:
- uses: actions/checkout@v4
- name: Cache Powershell Modules
id: cache-powershell-modules
uses: actions/cache@v4
with:
path: C:\Users\runneradmin\Documents\WindowsPowerShell\Modules
key: 20210527|${{ hashFiles('**/vsts-prerequisites.ps1') }}
- name: Prerequisites
if: steps.cache-powershell-modules.outputs.cache-hit != 'true'
shell: powershell
run: build\vsts-prerequisites.ps1
- name: Validate
shell: powershell
run: build\vsts-validate-psscriptanalyzer.ps1 -TestPublic $false -TestInternal $true
- name: Publish Test Results **/TEST-*.xml
if: always()
uses: EnricoMi/publish-unit-test-result-action/windows@v2
with:
files: '**/TEST-*.xml'
check_name: 'Internal Functions Unit Tests Results'
comment_mode: 'off'
individual-unit-tests:
name: Validate Individual Unit Tests
runs-on: windows-latest
needs: prerequisites
steps:
- uses: actions/checkout@v4
- name: Cache Powershell Modules
id: cache-powershell-modules
uses: actions/cache@v4
with:
path: C:\Users\runneradmin\Documents\WindowsPowerShell\Modules
key: 20210527|${{ hashFiles('**/vsts-prerequisites.ps1') }}
- name: Prerequisites
if: steps.cache-powershell-modules.outputs.cache-hit != 'true'
shell: powershell
run: build\vsts-prerequisites.ps1
- name: Validate
shell: powershell
run: build\vsts-validate.ps1 -TestGeneral $false -TestFunctions $true
- name: Publish Test Results **/TEST-*.xml
if: always()
uses: EnricoMi/publish-unit-test-result-action/windows@v2
with:
files: '**/TEST-*.xml'
check_name: 'Individual Unit Tests Results'
comment_mode: 'off'