@@ -157,22 +157,30 @@ jobs:
157
157
- name : Terraform Plan
158
158
id : plan
159
159
run : |
160
- set -e
160
+ set -eo pipefail
161
161
terraform init -backend-config="env/${{ inputs.environment }}-backend.hcl" -upgrade
162
- PLAN_CMD="terraform plan -var=image_digest=${{ env.DOCKER_DIGEST }} \
163
- -var=db_secret_arn=${{ env.DB_SECRET_ARN }} \
164
- -var=imported_snapshot=${{ env.SNAPSHOT_ARN }} \
165
- -var-file=env/${{ inputs.environment }}.tfvars \
166
- -var=allowed_egress_cidr_blocks='${{ inputs.egress_cidr }}'"
162
+
163
+ # Build terraform plan arguments as an array
164
+ PLAN_ARGS=(
165
+ "plan"
166
+ "-var=image_digest=${{ env.DOCKER_DIGEST }}"
167
+ "-var=db_secret_arn=${{ env.DB_SECRET_ARN }}"
168
+ "-var=imported_snapshot=${{ env.SNAPSHOT_ARN }}"
169
+ "-var-file=env/${{ inputs.environment }}.tfvars"
170
+ "-var=allowed_egress_cidr_blocks='${{ inputs.egress_cidr }}'"
171
+ )
167
172
168
173
if [ "${{ env.REPLACE_DB_CLUSTER }}" = "true" ]; then
169
- PLAN_CMD="$PLAN_CMD -replace aws_rds_cluster.core"
174
+ PLAN_ARGS+=(" -replace" " aws_rds_cluster.core")
170
175
fi
171
176
172
- PLAN_CMD="$PLAN_CMD -out ${{ runner.temp }}/tfplan"
173
- eval "$PLAN_CMD" | tee ${{ runner.temp }}/tf_stdout
177
+ # Add output file argument
178
+ PLAN_ARGS+=("-out" "${{ runner.temp }}/tfplan")
179
+
180
+ terraform "${PLAN_ARGS[@]}" | tee ${{ runner.temp }}/tf_stdout
174
181
175
- echo "$PLAN_CMD"
182
+ echo "Plan cmd: $PLAN_CMD"
183
+ echo "Cidr input: ${{ inputs.egress_cidr }}"
176
184
177
185
- name : Upload artifact
178
186
uses : actions/upload-artifact@v4
0 commit comments