@@ -379,21 +379,39 @@ jobs:
379379 CORS_ORIGINS: "https://${{ vars.DOMAIN }},https://sso.${{ vars.DOMAIN }},https://api.${{ vars.DOMAIN }},https://mcp.${{ vars.DOMAIN }}"
380380 ENDOFVALUES
381381
382+ # Build image override args - only set tags for services that were actually built
383+ IMAGE_ARGS=""
384+
385+ # Always set repositories
386+ IMAGE_ARGS="$IMAGE_ARGS --set sso.image.repository=${{ env.REGISTRY }}/${{ env.IMAGE_PREFIX }}/sso"
387+ IMAGE_ARGS="$IMAGE_ARGS --set api.image.repository=${{ env.REGISTRY }}/${{ env.IMAGE_PREFIX }}/api"
388+ IMAGE_ARGS="$IMAGE_ARGS --set web.image.repository=${{ env.REGISTRY }}/${{ env.IMAGE_PREFIX }}/web"
389+ IMAGE_ARGS="$IMAGE_ARGS --set mcpServer.image.repository=${{ env.REGISTRY }}/${{ env.IMAGE_PREFIX }}/mcp"
390+ IMAGE_ARGS="$IMAGE_ARGS --set notificationService.image.repository=${{ env.REGISTRY }}/${{ env.IMAGE_PREFIX }}/notification"
391+
392+ # Only set tags for services that were built (or all on manual trigger)
393+ if [ "${{ needs.changes.outputs.sso }}" == "true" ] || [ "${{ github.event_name }}" == "workflow_dispatch" ]; then
394+ IMAGE_ARGS="$IMAGE_ARGS --set sso.image.tag=${{ github.sha }}"
395+ fi
396+ if [ "${{ needs.changes.outputs.api }}" == "true" ] || [ "${{ github.event_name }}" == "workflow_dispatch" ]; then
397+ IMAGE_ARGS="$IMAGE_ARGS --set api.image.tag=${{ github.sha }}"
398+ fi
399+ if [ "${{ needs.changes.outputs.web }}" == "true" ] || [ "${{ github.event_name }}" == "workflow_dispatch" ]; then
400+ IMAGE_ARGS="$IMAGE_ARGS --set web.image.tag=${{ github.sha }}"
401+ fi
402+ if [ "${{ needs.changes.outputs.mcp }}" == "true" ] || [ "${{ github.event_name }}" == "workflow_dispatch" ]; then
403+ IMAGE_ARGS="$IMAGE_ARGS --set mcpServer.image.tag=${{ github.sha }}"
404+ fi
405+ if [ "${{ needs.changes.outputs.notification }}" == "true" ] || [ "${{ github.event_name }}" == "workflow_dispatch" ]; then
406+ IMAGE_ARGS="$IMAGE_ARGS --set notificationService.image.tag=${{ github.sha }}"
407+ fi
408+
382409 helm upgrade --install taskflow ./infrastructure/helm/taskflow \
383410 --namespace taskflow \
384411 --values infrastructure/helm/taskflow/values-cloud.yaml \
385412 --values /tmp/helm-overrides.yaml \
386413 --set global.imagePullSecrets[0].name=ghcr-secret \
387- --set "sso.image.repository=${{ env.REGISTRY }}/${{ env.IMAGE_PREFIX }}/sso" \
388- --set "sso.image.tag=${{ github.sha }}" \
389- --set "api.image.repository=${{ env.REGISTRY }}/${{ env.IMAGE_PREFIX }}/api" \
390- --set "api.image.tag=${{ github.sha }}" \
391- --set "web.image.repository=${{ env.REGISTRY }}/${{ env.IMAGE_PREFIX }}/web" \
392- --set "web.image.tag=${{ github.sha }}" \
393- --set "mcpServer.image.repository=${{ env.REGISTRY }}/${{ env.IMAGE_PREFIX }}/mcp" \
394- --set "mcpServer.image.tag=${{ github.sha }}" \
395- --set "notificationService.image.repository=${{ env.REGISTRY }}/${{ env.IMAGE_PREFIX }}/notification" \
396- --set "notificationService.image.tag=${{ github.sha }}" \
414+ $IMAGE_ARGS \
397415 --set managedServices.neon.enabled=true \
398416 --set "managedServices.neon.ssoDatabase=${{ secrets.NEON_SSO_DATABASE_URL }}" \
399417 --set "managedServices.neon.apiDatabase=${{ secrets.NEON_API_DATABASE_URL }}" \
0 commit comments