@@ -40,10 +40,11 @@ jobs:
40
40
projects : ${{ steps.determineProjectsToBuild.outputs.ProjectsJson }}
41
41
projectDependenciesJson : ${{ steps.determineProjectsToBuild.outputs.ProjectDependenciesJson }}
42
42
buildOrderJson : ${{ steps.determineProjectsToBuild.outputs.BuildOrderJson }}
43
+ powerPlatformSolutionFolder : ${{ steps.DeterminePowerPlatformSolutionFolder.outputs.powerPlatformSolutionFolder }}
43
44
workflowDepth : ${{ steps.DetermineWorkflowDepth.outputs.WorkflowDepth }}
44
45
steps :
45
46
- name : Dump Workflow Information
46
- uses : microsoft/AL-Go-Actions/DumpWorkflowInfo@v5.1
47
+ uses : microsoft/AL-Go-Actions/DumpWorkflowInfo@v5.2
47
48
with :
48
49
shell : powershell
49
50
@@ -54,17 +55,17 @@ jobs:
54
55
55
56
- name : Initialize the workflow
56
57
id : init
57
- uses : microsoft/AL-Go-Actions/WorkflowInitialize@v5.1
58
+ uses : microsoft/AL-Go-Actions/WorkflowInitialize@v5.2
58
59
with :
59
60
shell : powershell
60
61
eventId : " DO0091"
61
62
62
63
- name : Read settings
63
64
id : ReadSettings
64
- uses : microsoft/AL-Go-Actions/ReadSettings@v5.1
65
+ uses : microsoft/AL-Go-Actions/ReadSettings@v5.2
65
66
with :
66
67
shell : powershell
67
- get : type
68
+ get : type, powerPlatformSolutionFolder
68
69
69
70
- name : Determine Workflow Depth
70
71
id : DetermineWorkflowDepth
@@ -73,30 +74,36 @@ jobs:
73
74
74
75
- name : Determine Projects To Build
75
76
id : determineProjectsToBuild
76
- uses : microsoft/AL-Go-Actions/DetermineProjectsToBuild@v5.1
77
+ uses : microsoft/AL-Go-Actions/DetermineProjectsToBuild@v5.2
77
78
with :
78
79
shell : powershell
79
80
maxBuildDepth : ${{ env.workflowDepth }}
80
81
82
+ - name : Determine PowerPlatform Solution Folder
83
+ id : DeterminePowerPlatformSolutionFolder
84
+ if : env.type == 'PTE'
85
+ run : |
86
+ Add-Content -Encoding UTF8 -Path $env:GITHUB_OUTPUT -Value "powerPlatformSolutionFolder=$($env:powerPlatformSolutionFolder)"
87
+
81
88
- name : Determine Delivery Target Secrets
82
89
id : DetermineDeliveryTargetSecrets
83
- uses : microsoft/AL-Go-Actions/DetermineDeliveryTargets@v5.1
90
+ uses : microsoft/AL-Go-Actions/DetermineDeliveryTargets@v5.2
84
91
with :
85
92
shell : powershell
86
93
projectsJson : ' ${{ steps.determineProjectsToBuild.outputs.ProjectsJson }}'
87
94
checkContextSecrets : ' false'
88
95
89
96
- name : Read secrets
90
97
id : ReadSecrets
91
- uses : microsoft/AL-Go-Actions/ReadSecrets@v5.1
98
+ uses : microsoft/AL-Go-Actions/ReadSecrets@v5.2
92
99
with :
93
100
shell : powershell
94
101
gitHubSecrets : ${{ toJson(secrets) }}
95
102
getSecrets : ${{ steps.DetermineDeliveryTargetSecrets.outputs.ContextSecrets }}
96
103
97
104
- name : Determine Delivery Targets
98
105
id : DetermineDeliveryTargets
99
- uses : microsoft/AL-Go-Actions/DetermineDeliveryTargets@v5.1
106
+ uses : microsoft/AL-Go-Actions/DetermineDeliveryTargets@v5.2
100
107
env :
101
108
Secrets : ' ${{ steps.ReadSecrets.outputs.Secrets }}'
102
109
with :
@@ -106,7 +113,7 @@ jobs:
106
113
107
114
- name : Determine Deployment Environments
108
115
id : DetermineDeploymentEnvironments
109
- uses : microsoft/AL-Go-Actions/DetermineDeploymentEnvironments@v5.1
116
+ uses : microsoft/AL-Go-Actions/DetermineDeploymentEnvironments@v5.2
110
117
env :
111
118
GITHUB_TOKEN : ${{ github.token }}
112
119
with :
@@ -122,13 +129,13 @@ jobs:
122
129
uses : actions/checkout@v4
123
130
124
131
- name : Read settings
125
- uses : microsoft/AL-Go-Actions/ReadSettings@v5.1
132
+ uses : microsoft/AL-Go-Actions/ReadSettings@v5.2
126
133
with :
127
134
shell : powershell
128
135
get : templateUrl
129
136
130
137
- name : Check for updates to AL-Go system files
131
- uses : microsoft/AL-Go-Actions/CheckForUpdates@v5.1
138
+ uses : microsoft/AL-Go-Actions/CheckForUpdates@v5.2
132
139
with :
133
140
shell : powershell
134
141
templateUrl : ${{ env.templateUrl }}
@@ -158,9 +165,23 @@ jobs:
158
165
signArtifacts : true
159
166
useArtifactCache : true
160
167
168
+ BuildPP :
169
+ needs : [ Initialization ]
170
+ if : (!failure()) && (!cancelled()) && needs.Initialization.outputs.powerPlatformSolutionFolder != ''
171
+ name : Build PowerPlatform Solution
172
+ uses : ./.github/workflows/_BuildPowerPlatformSolution.yaml
173
+ secrets : inherit
174
+ with :
175
+ shell : ${{ needs.Initialization.outputs.githubRunnerShell }}
176
+ runsOn : ${{ needs.Initialization.outputs.githubRunner }}
177
+ parentTelemetryScopeJson : ${{ needs.Initialization.outputs.telemetryScopeJson }}
178
+ project : ${{ needs.Initialization.outputs.powerPlatformSolutionFolder }}
179
+ projectName : ${{ needs.Initialization.outputs.powerPlatformSolutionFolder }}
180
+ publishArtifacts : ${{ github.ref_name == 'main' || startswith(github.ref_name, 'release/') || startswith(github.ref_name, 'releases/') || needs.Initialization.outputs.deliveryTargetsJson != '[]' || needs.Initialization.outputs.environmentCount > 0 }}
181
+
161
182
DeployALDoc :
162
183
needs : [ Initialization, Build ]
163
- if : always( ) && needs.Build.result == 'Success' && needs.Initialization.outputs.generateALDocArtifact == 1 && github.ref_name == 'main'
184
+ if : (!cancelled() ) && needs.Build.result == 'Success' && needs.Initialization.outputs.generateALDocArtifact == 1 && github.ref_name == 'main'
164
185
runs-on : windows-latest
165
186
name : Deploy Reference Documentation
166
187
permissions :
@@ -181,7 +202,7 @@ jobs:
181
202
path : ' .artifacts'
182
203
183
204
- name : Read settings
184
- uses : microsoft/AL-Go-Actions/ReadSettings@v5.1
205
+ uses : microsoft/AL-Go-Actions/ReadSettings@v5.2
185
206
with :
186
207
shell : powershell
187
208
@@ -190,7 +211,7 @@ jobs:
190
211
uses : actions/configure-pages@v5
191
212
192
213
- name : Build Reference Documentation
193
- uses : microsoft/AL-Go-Actions/BuildReferenceDocumentation@v5.1
214
+ uses : microsoft/AL-Go-Actions/BuildReferenceDocumentation@v5.2
194
215
with :
195
216
shell : powershell
196
217
artifacts : ' .artifacts'
@@ -206,8 +227,8 @@ jobs:
206
227
uses : actions/deploy-pages@v4
207
228
208
229
Deploy :
209
- needs : [ Initialization, Build ]
210
- if : always() && needs.Build.result == 'Success' && needs.Initialization.outputs.environmentCount > 0
230
+ needs : [ Initialization, Build, BuildPP ]
231
+ if : (!cancelled()) && ( needs.Build.result == 'success' || needs.Build.result == 'skipped') && (needs.BuildPP.result == 'success' || needs.BuildPP.result == 'skipped') && needs.Initialization.outputs.environmentCount > 0
211
232
strategy : ${{ fromJson(needs.Initialization.outputs.environmentsMatrixJson) }}
212
233
runs-on : ${{ fromJson(matrix.os) }}
213
234
name : Deploy to ${{ matrix.environment }}
@@ -227,9 +248,10 @@ jobs:
227
248
path : ' .artifacts'
228
249
229
250
- name : Read settings
230
- uses : microsoft/AL-Go-Actions/ReadSettings@v5.1
251
+ uses : microsoft/AL-Go-Actions/ReadSettings@v5.2
231
252
with :
232
253
shell : ${{ matrix.shell }}
254
+ get : type,powerPlatformSolutionFolder
233
255
234
256
- name : EnvName
235
257
id : envName
@@ -240,27 +262,38 @@ jobs:
240
262
241
263
- name : Read secrets
242
264
id : ReadSecrets
243
- uses : microsoft/AL-Go-Actions/ReadSecrets@v5.1
265
+ uses : microsoft/AL-Go-Actions/ReadSecrets@v5.2
244
266
with :
245
267
shell : ${{ matrix.shell }}
246
268
gitHubSecrets : ${{ toJson(secrets) }}
247
269
getSecrets : ' ${{ steps.envName.outputs.envName }}-AuthContext,${{ steps.envName.outputs.envName }}_AuthContext,AuthContext,${{ steps.envName.outputs.envName }}-EnvironmentName,${{ steps.envName.outputs.envName }}_EnvironmentName,EnvironmentName,projects'
248
270
249
- - name : Deploy
271
+ - name : Deploy to Business Central
250
272
id : Deploy
251
- uses : microsoft/AL-Go-Actions/Deploy@v5.1
273
+ uses : microsoft/AL-Go-Actions/Deploy@v5.2
252
274
env :
253
275
Secrets : ' ${{ steps.ReadSecrets.outputs.Secrets }}'
254
276
with :
255
277
shell : ${{ matrix.shell }}
256
278
environmentName : ${{ matrix.environment }}
257
- artifacts : ' .artifacts'
279
+ artifactsFolder : ' .artifacts'
258
280
type : ' CD'
259
281
deploymentEnvironmentsJson : ${{ needs.Initialization.outputs.deploymentEnvironmentsJson }}
260
282
283
+ - name : Deploy to Power Platform
284
+ if : env.type == 'PTE' && env.powerPlatformSolutionFolder != ''
285
+ uses : microsoft/AL-Go-Actions/DeployPowerPlatform@v5.2
286
+ env :
287
+ Secrets : ' ${{ steps.ReadSecrets.outputs.Secrets }}'
288
+ with :
289
+ shell : powershell
290
+ environmentName : ${{ matrix.environment }}
291
+ artifactsFolder : ' .artifacts'
292
+ deploymentEnvironmentsJson : ${{ needs.Initialization.outputs.deploymentEnvironmentsJson }}
293
+
261
294
Deliver :
262
- needs : [ Initialization, Build ]
263
- if : always() && needs.Build.result == 'Success' && needs.Initialization.outputs.deliveryTargetsJson != '[]'
295
+ needs : [ Initialization, Build, BuildPP ]
296
+ if : (!cancelled()) && ( needs.Build.result == 'success' || needs.Build.result == 'skipped') && (needs.BuildPP.result == 'success' || needs.BuildPP.result == 'skipped') && needs.Initialization.outputs.deliveryTargetsJson != '[]'
264
297
strategy :
265
298
matrix :
266
299
deliveryTarget : ${{ fromJson(needs.Initialization.outputs.deliveryTargetsJson) }}
@@ -277,20 +310,20 @@ jobs:
277
310
path : ' .artifacts'
278
311
279
312
- name : Read settings
280
- uses : microsoft/AL-Go-Actions/ReadSettings@v5.1
313
+ uses : microsoft/AL-Go-Actions/ReadSettings@v5.2
281
314
with :
282
315
shell : powershell
283
316
284
317
- name : Read secrets
285
318
id : ReadSecrets
286
- uses : microsoft/AL-Go-Actions/ReadSecrets@v5.1
319
+ uses : microsoft/AL-Go-Actions/ReadSecrets@v5.2
287
320
with :
288
321
shell : powershell
289
322
gitHubSecrets : ${{ toJson(secrets) }}
290
323
getSecrets : ' ${{ matrix.deliveryTarget }}Context'
291
324
292
325
- name : Deliver
293
- uses : microsoft/AL-Go-Actions/Deliver@v5.1
326
+ uses : microsoft/AL-Go-Actions/Deliver@v5.2
294
327
env :
295
328
Secrets : ' ${{ steps.ReadSecrets.outputs.Secrets }}'
296
329
with :
@@ -301,7 +334,7 @@ jobs:
301
334
artifacts : ' .artifacts'
302
335
303
336
PostProcess :
304
- needs : [ Initialization, Build, Deploy, Deliver, DeployALDoc ]
337
+ needs : [ Initialization, Build, BuildPP, Deploy, Deliver, DeployALDoc ]
305
338
if : (!cancelled())
306
339
runs-on : [ windows-latest ]
307
340
steps :
@@ -310,7 +343,7 @@ jobs:
310
343
311
344
- name : Finalize the workflow
312
345
id : PostProcess
313
- uses : microsoft/AL-Go-Actions/WorkflowPostProcess@v5.1
346
+ uses : microsoft/AL-Go-Actions/WorkflowPostProcess@v5.2
314
347
with :
315
348
shell : powershell
316
349
eventId : " DO0091"
0 commit comments