Skip to content

Commit 1283d72

Browse files
committed
Guard build workflow JSON parsing
1 parent 618070c commit 1283d72

11 files changed

Lines changed: 15 additions & 15 deletions

File tree

Actions/CheckForUpdates/CheckForUpdates.HelperFunctions.ps1

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -188,24 +188,24 @@ function ModifyBuildWorkflows {
188188
# First build job needs to have a dependency on the Initialization job only
189189
# Example (depth 1):
190190
# needs: [ Initialization ]
191-
# if: (!failure()) && (!cancelled()) && fromJson(needs.Initialization.outputs.buildOrderJson)[0].projectsCount > 0
192-
$if = "if: (!failure()) && (!cancelled()) && fromJson(needs.Initialization.outputs.buildOrderJson)[$index].projectsCount > 0"
191+
# if: (!failure()) && (!cancelled()) && needs.Initialization.outputs.buildOrderJson != '' && fromJson(needs.Initialization.outputs.buildOrderJson)[0].projectsCount > 0
192+
$if = "if: (!failure()) && (!cancelled()) && needs.Initialization.outputs.buildOrderJson != '' && fromJson(needs.Initialization.outputs.buildOrderJson)[$index].projectsCount > 0"
193193
}
194194
else {
195195
# Subsequent build jobs needs to have a dependency on all previous build jobs
196196
# Example (depth 2):
197197
# needs: [ Initialization, Build1 ]
198-
# if: (!failure()) && (!cancelled()) && (needs.Build1.result == 'success' || needs.Build1.result == 'skipped') && fromJson(needs.Initialization.outputs.buildOrderJson)[0].projectsCount > 0
198+
# if: (!failure()) && (!cancelled()) && (needs.Build1.result == 'success' || needs.Build1.result == 'skipped') && needs.Initialization.outputs.buildOrderJson != '' && fromJson(needs.Initialization.outputs.buildOrderJson)[1].projectsCount > 0
199199
# Another example (depth 3):
200200
# needs: [ Initialization, Build2, Build1 ]
201-
# if: (!failure()) && (!cancelled()) && (needs.Build2.result == 'success' || needs.Build2.result == 'skipped') && (needs.Build1.result == 'success' || needs.Build1.result == 'skipped') && fromJson(needs.Initialization.outputs.buildOrderJson)[0].projectsCount > 0
201+
# if: (!failure()) && (!cancelled()) && (needs.Build2.result == 'success' || needs.Build2.result == 'skipped') && (needs.Build1.result == 'success' || needs.Build1.result == 'skipped') && needs.Initialization.outputs.buildOrderJson != '' && fromJson(needs.Initialization.outputs.buildOrderJson)[2].projectsCount > 0
202202
$newBuild += @('')
203203
$ifpart = ""
204204
$index..1 | ForEach-Object {
205205
$needs += @("Build$_")
206206
$ifpart += " && (needs.Build$_.result == 'success' || needs.Build$_.result == 'skipped')"
207207
}
208-
$if = "if: (!failure()) && (!cancelled())$ifpart && fromJson(needs.Initialization.outputs.buildOrderJson)[$index].projectsCount > 0"
208+
$if = "if: (!failure()) && (!cancelled())$ifpart && needs.Initialization.outputs.buildOrderJson != '' && fromJson(needs.Initialization.outputs.buildOrderJson)[$index].projectsCount > 0"
209209
}
210210

211211
# Replace the if:, the needs: and the strategy/matrix/project: in the build job with the correct values

Templates/AppSource App/.github/workflows/CICD.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ jobs:
183183

184184
Build:
185185
needs: [ Initialization ]
186-
if: (!failure()) && (!cancelled()) && fromJson(needs.Initialization.outputs.buildOrderJson)[0].projectsCount > 0
186+
if: (!failure()) && (!cancelled()) && needs.Initialization.outputs.buildOrderJson != '' && fromJson(needs.Initialization.outputs.buildOrderJson)[0].projectsCount > 0
187187
strategy:
188188
matrix:
189189
include: ${{ fromJson(needs.Initialization.outputs.buildOrderJson)[0].buildDimensions }}

Templates/AppSource App/.github/workflows/Current.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ jobs:
8585

8686
Build:
8787
needs: [ Initialization ]
88-
if: (!failure()) && (!cancelled()) && fromJson(needs.Initialization.outputs.buildOrderJson)[0].projectsCount > 0
88+
if: (!failure()) && (!cancelled()) && needs.Initialization.outputs.buildOrderJson != '' && fromJson(needs.Initialization.outputs.buildOrderJson)[0].projectsCount > 0
8989
strategy:
9090
matrix:
9191
include: ${{ fromJson(needs.Initialization.outputs.buildOrderJson)[0].buildDimensions }}

Templates/AppSource App/.github/workflows/NextMajor.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ jobs:
8585

8686
Build:
8787
needs: [ Initialization ]
88-
if: (!failure()) && (!cancelled()) && fromJson(needs.Initialization.outputs.buildOrderJson)[0].projectsCount > 0
88+
if: (!failure()) && (!cancelled()) && needs.Initialization.outputs.buildOrderJson != '' && fromJson(needs.Initialization.outputs.buildOrderJson)[0].projectsCount > 0
8989
strategy:
9090
matrix:
9191
include: ${{ fromJson(needs.Initialization.outputs.buildOrderJson)[0].buildDimensions }}

Templates/AppSource App/.github/workflows/NextMinor.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ jobs:
8585

8686
Build:
8787
needs: [ Initialization ]
88-
if: (!failure()) && (!cancelled()) && fromJson(needs.Initialization.outputs.buildOrderJson)[0].projectsCount > 0
88+
if: (!failure()) && (!cancelled()) && needs.Initialization.outputs.buildOrderJson != '' && fromJson(needs.Initialization.outputs.buildOrderJson)[0].projectsCount > 0
8989
strategy:
9090
matrix:
9191
include: ${{ fromJson(needs.Initialization.outputs.buildOrderJson)[0].buildDimensions }}

Templates/AppSource App/.github/workflows/PullRequestHandler.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ jobs:
9393

9494
Build:
9595
needs: [ Initialization ]
96-
if: (!failure()) && (!cancelled()) && fromJson(needs.Initialization.outputs.buildOrderJson)[0].projectsCount > 0
96+
if: (!failure()) && (!cancelled()) && needs.Initialization.outputs.buildOrderJson != '' && fromJson(needs.Initialization.outputs.buildOrderJson)[0].projectsCount > 0
9797
strategy:
9898
matrix:
9999
include: ${{ fromJson(needs.Initialization.outputs.buildOrderJson)[0].buildDimensions }}

Templates/Per Tenant Extension/.github/workflows/CICD.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ jobs:
183183

184184
Build:
185185
needs: [ Initialization ]
186-
if: (!failure()) && (!cancelled()) && fromJson(needs.Initialization.outputs.buildOrderJson)[0].projectsCount > 0
186+
if: (!failure()) && (!cancelled()) && needs.Initialization.outputs.buildOrderJson != '' && fromJson(needs.Initialization.outputs.buildOrderJson)[0].projectsCount > 0
187187
strategy:
188188
matrix:
189189
include: ${{ fromJson(needs.Initialization.outputs.buildOrderJson)[0].buildDimensions }}

Templates/Per Tenant Extension/.github/workflows/Current.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ jobs:
8585

8686
Build:
8787
needs: [ Initialization ]
88-
if: (!failure()) && (!cancelled()) && fromJson(needs.Initialization.outputs.buildOrderJson)[0].projectsCount > 0
88+
if: (!failure()) && (!cancelled()) && needs.Initialization.outputs.buildOrderJson != '' && fromJson(needs.Initialization.outputs.buildOrderJson)[0].projectsCount > 0
8989
strategy:
9090
matrix:
9191
include: ${{ fromJson(needs.Initialization.outputs.buildOrderJson)[0].buildDimensions }}

Templates/Per Tenant Extension/.github/workflows/NextMajor.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ jobs:
8585

8686
Build:
8787
needs: [ Initialization ]
88-
if: (!failure()) && (!cancelled()) && fromJson(needs.Initialization.outputs.buildOrderJson)[0].projectsCount > 0
88+
if: (!failure()) && (!cancelled()) && needs.Initialization.outputs.buildOrderJson != '' && fromJson(needs.Initialization.outputs.buildOrderJson)[0].projectsCount > 0
8989
strategy:
9090
matrix:
9191
include: ${{ fromJson(needs.Initialization.outputs.buildOrderJson)[0].buildDimensions }}

Templates/Per Tenant Extension/.github/workflows/NextMinor.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ jobs:
8585

8686
Build:
8787
needs: [ Initialization ]
88-
if: (!failure()) && (!cancelled()) && fromJson(needs.Initialization.outputs.buildOrderJson)[0].projectsCount > 0
88+
if: (!failure()) && (!cancelled()) && needs.Initialization.outputs.buildOrderJson != '' && fromJson(needs.Initialization.outputs.buildOrderJson)[0].projectsCount > 0
8989
strategy:
9090
matrix:
9191
include: ${{ fromJson(needs.Initialization.outputs.buildOrderJson)[0].buildDimensions }}

0 commit comments

Comments
 (0)