Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 31 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,13 @@ on:
# failure mode the packages/** comment above describes, just for a
# different path. This was live for every commit between #432 and now.
- 'services/chat-service/**'
# notification-service/** and payment-service/** were both missing here,
# the same silent-ship gap the chat-service comment above describes: a
# change confined to one of those service dirs would merge green and never
# trigger a release, so the image would keep the old code (or, for the
# never-built payment-service, stay absent entirely).
- 'services/notification-service/**'
- 'services/payment-service/**'
- 'clock-app/**'
- 'deploy/helm/fuzefront/**'
- '.github/workflows/release.yml'
Expand Down Expand Up @@ -164,6 +171,25 @@ jobs:
cache-from: type=gha
cache-to: type=gha,mode=max

- name: Build & push payment-service
# Self-contained Dockerfile (no @fuzefront/shared dep) => context is
# services/payment-service/, like clock-app β€” NOT the repo root the
# workspace services use. Scaffold gateway, disabled in prod; this build
# only makes the image EXIST so paymentService.image.tag can be bumped
# off "" and a future go-live is a values flip, not a missing image.
id: payment_image
continue-on-error: true
uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a # v7.3.0
with:
context: services/payment-service
file: services/payment-service/Dockerfile
push: true
tags: |
ghcr.io/izzywdev/fuzefront-payment-service:${{ steps.tag.outputs.sha }}
ghcr.io/izzywdev/fuzefront-payment-service:latest
cache-from: type=gha
cache-to: type=gha,mode=max

- name: Build & push security-service
id: security_image
continue-on-error: true
Expand Down Expand Up @@ -303,8 +329,9 @@ jobs:
CLOCK_OK=$(ok "${{ steps.clock_image.outcome }}")
CHAT_OK=$(ok "${{ steps.chat_image.outcome }}")
NOTIF_OK=$(ok "${{ steps.notification_image.outcome }}")
EXPECTED=$((2 + EMAIL_OK + SMS_OK + PROV_OK + BILLING_OK + SECURITY_OK + APPS_OK + CLOCK_OK + CHAT_OK + NOTIF_OK))
echo "built: email=${EMAIL_OK} sms=${SMS_OK} provisioning=${PROV_OK} billing=${BILLING_OK} security=${SECURITY_OK} applications=${APPS_OK} clock=${CLOCK_OK} chat=${CHAT_OK} notification=${NOTIF_OK}"
PAYMENT_OK=$(ok "${{ steps.payment_image.outcome }}")
EXPECTED=$((2 + EMAIL_OK + SMS_OK + PROV_OK + BILLING_OK + SECURITY_OK + APPS_OK + CLOCK_OK + CHAT_OK + NOTIF_OK + PAYMENT_OK))
echo "built: email=${EMAIL_OK} sms=${SMS_OK} provisioning=${PROV_OK} billing=${BILLING_OK} security=${SECURITY_OK} applications=${APPS_OK} clock=${CLOCK_OK} chat=${CHAT_OK} notification=${NOTIF_OK} payment=${PAYMENT_OK}"
echo "expecting ${EXPECTED} tag rewrites (backend + frontend are always built)"
if [ "${APPS_OK}${SECURITY_OK}${EMAIL_OK}${BILLING_OK}" != "1111" ]; then
echo "::warning::one or more auxiliary images failed to build; their values-prod tags are left pinned to the last good release"
Expand Down Expand Up @@ -341,7 +368,7 @@ jobs:
awk -v sha="$SHA" -v chat="$CHAT_OK" -v notif="$NOTIF_OK" \
-v email="$EMAIL_OK" -v sms="$SMS_OK" -v prov="$PROV_OK" \
-v billing="$BILLING_OK" -v security="$SECURITY_OK" \
-v apps="$APPS_OK" -v clock="$CLOCK_OK" '
-v apps="$APPS_OK" -v clock="$CLOCK_OK" -v payment="$PAYMENT_OK" '
hot {
hot=0
if ($0 ~ /^[[:space:]]*tag:/) {
Expand All @@ -362,6 +389,7 @@ jobs:
prov == 1 && /repository: ghcr\.io\/izzywdev\/fuzefront-provisioning-service\r?$/ { hot=1 }
chat == 1 && /repository: ghcr\.io\/izzywdev\/fuzefront-chat-service\r?$/ { hot=1 }
notif == 1 && /repository: ghcr\.io\/izzywdev\/fuzefront-notification-service\r?$/ { hot=1 }
payment == 1 && /repository: ghcr\.io\/izzywdev\/fuzefront-payment-service\r?$/ { hot=1 }
{ print }
END { print n+0 > "/tmp/bump-count" }
' /tmp/vp-current.yaml > /tmp/vp-new.yaml
Expand Down
Loading