Skip to content

Commit 97e4635

Browse files
authored
fix(ci): geef deploy-test-*-jobs een expliciete statusfunctie (#183)
De impliciete success() op deploy-test-uitvraag/-externe-stubs/-magazijnen kijkt niet alleen naar hun vier directe needs, maar transitief door tot checks-fuzz — die bij elke push naar main 'skipped' is (PR-only check). Sinds #174 werden de drie test-deploys daardoor bij elke push stilzwijgend overgeslagen, ook al waren meta/build/build-externe-stubs/gate stuk voor stuk 'success'. gate's eigen !cancelled()-fix (#174) beschermt alleen gate zelf, niet de jobs die ervan afhangen.
1 parent ad28787 commit 97e4635

1 file changed

Lines changed: 34 additions & 3 deletions

File tree

.github/workflows/deploy.yml

Lines changed: 34 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -668,7 +668,20 @@ jobs:
668668
# Push naar main → per project de `test`-deployment (de baseline waarvan previews klonen;
669669
# env/secrets configureer je daar in Operations Manager). Per project een eigen parallelle job.
670670
deploy-test-uitvraag:
671-
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
671+
# Expliciete statusfunctie i.p.v. de impliciete success(): die kijkt niet alleen naar de vier
672+
# directe needs hieronder, maar transitief door naar hún needs — en `checks-fuzz` (PR-only) is
673+
# bij een push naar main altijd 'skipped', wat de impliciete success() over de hele keten laat
674+
# falen. `gate` ontsnapt daar zelf al aan met `!cancelled()`, maar dat beschermt alleen `gate`
675+
# zelf, niet de jobs die van `gate` afhangen. Vandaar hier dezelfde `!cancelled()`-vorm, plus
676+
# expliciete per-need result-checks zodat een échte build-/gate-fout deze job wél overslaat.
677+
if: >-
678+
!cancelled()
679+
&& needs.meta.result == 'success'
680+
&& needs.build.result == 'success'
681+
&& needs.build-externe-stubs.result == 'success'
682+
&& needs.gate.result == 'success'
683+
&& github.event_name == 'push'
684+
&& github.ref == 'refs/heads/main'
672685
needs: [meta, build, build-externe-stubs, gate]
673686
runs-on: ubuntu-latest
674687
timeout-minutes: 20
@@ -695,7 +708,16 @@ jobs:
695708
]
696709
697710
deploy-test-externe-stubs:
698-
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
711+
# Zelfde reden als deploy-test-uitvraag hierboven: impliciete success() over de needs-keten
712+
# wordt vergiftigd door het op push altijd-geskipte `checks-fuzz`, ook al is `gate` zelf groen.
713+
if: >-
714+
!cancelled()
715+
&& needs.meta.result == 'success'
716+
&& needs.build.result == 'success'
717+
&& needs.build-externe-stubs.result == 'success'
718+
&& needs.gate.result == 'success'
719+
&& github.event_name == 'push'
720+
&& github.ref == 'refs/heads/main'
699721
needs: [meta, build, build-externe-stubs, gate]
700722
runs-on: ubuntu-latest
701723
timeout-minutes: 20
@@ -718,7 +740,16 @@ jobs:
718740
]
719741
720742
deploy-test-magazijnen:
721-
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
743+
# Zelfde reden als deploy-test-uitvraag hierboven: impliciete success() over de needs-keten
744+
# wordt vergiftigd door het op push altijd-geskipte `checks-fuzz`, ook al is `gate` zelf groen.
745+
if: >-
746+
!cancelled()
747+
&& needs.meta.result == 'success'
748+
&& needs.build.result == 'success'
749+
&& needs.build-externe-stubs.result == 'success'
750+
&& needs.gate.result == 'success'
751+
&& github.event_name == 'push'
752+
&& github.ref == 'refs/heads/main'
722753
needs: [meta, build, build-externe-stubs, gate]
723754
runs-on: ubuntu-latest
724755
timeout-minutes: 20

0 commit comments

Comments
 (0)