@@ -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
0 commit comments