From 469a5df90f31920e30b926b259ac266c9dad6c07 Mon Sep 17 00:00:00 2001 From: Victor Gasperi Date: Mon, 27 Oct 2025 23:33:27 -0300 Subject: [PATCH] fix: ajustando o dyamic build do config map --- .github/workflows/deploy-to-aws.yml | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/.github/workflows/deploy-to-aws.yml b/.github/workflows/deploy-to-aws.yml index 7343e7d..e58a813 100644 --- a/.github/workflows/deploy-to-aws.yml +++ b/.github/workflows/deploy-to-aws.yml @@ -150,14 +150,28 @@ jobs: run: sudo apt-get update && sudo apt-get install -y jq - name: Build dynamic CONFIG_MAP (add S3/CDN + project/stage) + shell: bash run: | - echo "TF_VAR_config_map=$(jq -n \ - --argjson base '${{ needs.env_setup.outputs.config_map }}' \ + # 1) Base vindo do job anterior + BASE='${{ needs.env_setup.outputs.config_map }}' + + # 2) Se BASE estiver vazio ou não for JSON -> usa {} + if [ -z "$BASE" ] || ! echo "$BASE" | jq -e . >/dev/null 2>&1; then + BASE='{}' + fi + + # 3) Mescla com os campos dinâmicos + MERGED=$(jq -n \ + --argjson base "$BASE" \ --arg bucket '${{ needs.build_uploads.outputs.bucket_name }}' \ - --arg cdn '${{ needs.build_uploads.outputs.cdn_url }}' \ + --arg cdn '${{ needs.build_uploads.outputs.cdn_url }}' \ --arg project '${{ needs.env_setup.outputs.project_name }}' \ --arg stage '${{ needs.env_setup.outputs.stage }}' \ - '$base + { S3_BUCKET: $bucket, CDN_DOMAIN: $cdn, PROJECT_NAME: $project, STAGE: $stage }')" >> $GITHUB_ENV + '$base + { S3_BUCKET: $bucket, CDN_DOMAIN: $cdn, PROJECT_NAME: $project, STAGE: $stage }') + + # 4) Exporta para o ambiente no formato que o Terraform entende (JSON puro) + echo "TF_VAR_config_map=$MERGED" >> "$GITHUB_ENV" + - name: Show merged CONFIG_MAP run: echo "$TF_VAR_config_map" | jq .