diff --git a/.github/workflows/promote-prod.yml b/.github/workflows/promote-prod.yml index e890112..da8c9b0 100644 --- a/.github/workflows/promote-prod.yml +++ b/.github/workflows/promote-prod.yml @@ -82,4 +82,26 @@ jobs: --base main \ --head "release/promote-prod-${TAG}" \ --title "release: promote ${TAG} to production" \ - --body "Promote image tag ${TAG} to production after UAT sign-off. cc @cpfarhood" \ No newline at end of file + --body "Promote image tag ${TAG} to production after UAT sign-off. cc @cpfarhood" + + - name: Delete existing completed Jobs before Flux reconciles + env: + TAG: ${{ inputs.tag }} + run: | + SHORT_SHA="${TAG##*-}" + echo "Deleting completed Jobs with name suffix: $SHORT_SHA" + kubectl delete job "migrate-schema-${SHORT_SHA}" -n groombook --ignore-not-found + kubectl delete job "seed-test-data-${SHORT_SHA}" -n groombook --ignore-not-found + echo "Jobs deleted, Flux will reconcile with fresh objects" + + - name: Notify on failure + if: failure() + uses: actions/github-script@v7 + with: + script: | + github.rest.issues.createComment({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.issue.number, + body: '## Production Promotion Failed\n\nThe `promote-prod` workflow failed. Check the workflow run logs for details.' + }); diff --git a/.github/workflows/promote-to-uat.yml b/.github/workflows/promote-to-uat.yml index c0ccff9..8fe3a37 100644 --- a/.github/workflows/promote-to-uat.yml +++ b/.github/workflows/promote-to-uat.yml @@ -95,6 +95,16 @@ jobs: --body "[GRO-429](/GRO/issues/GRO-429) — UAT promotion triggered by CTO") gh pr merge "$PR_URL" --merge + - name: Delete existing completed Jobs before Flux reconciles + env: + TAG: ${{ inputs.image_tag }} + run: | + SHORT_SHA="${TAG##*-}" + echo "Deleting completed Jobs with name suffix: $SHORT_SHA" + kubectl delete job "migrate-schema-${SHORT_SHA}" -n groombook-uat --ignore-not-found + kubectl delete job "seed-test-data-${SHORT_SHA}" -n groombook-uat --ignore-not-found + echo "Jobs deleted, Flux will reconcile with fresh objects" + - name: Notify on failure if: failure() uses: actions/github-script@v7