Skip to content

Commit

Permalink
fixing
Browse files Browse the repository at this point in the history
  • Loading branch information
arnol377 committed Mar 27, 2025
1 parent 19f9f4c commit 4b1ffac
Showing 1 changed file with 23 additions and 47 deletions.
70 changes: 23 additions & 47 deletions action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,53 +42,29 @@ runs:
id: validate
shell: bash
run: |
cd ${{ inputs.working-directory }}
VALIDATE_ARGS=""
if [[ -n "${{ inputs.var-file }}" ]]; then
VALIDATE_ARGS="$VALIDATE_ARGS -var-file=${{ inputs.var-file }}"
fi
# Capture both stdout and stderr
OUTPUT=$(terraform validate -no-color $VALIDATE_ARGS 2>&1)
VALIDATE_EXIT_CODE=$?
# Store validation output
VALIDATE_OUTPUT="$OUTPUT"
# Run terraform test if validation passed
TEST_OUTPUT=""
TEST_EXIT_CODE=0
if [ $VALIDATE_EXIT_CODE -eq 0 ]; then
TEST_OUTPUT=$(terraform test 2>&1)
TEST_EXIT_CODE=$?
terraform validate
if [[ $? -ne 0 ]]; then
echo "Terraform validation failed"
echo "is_valid=false" >> $GITHUB_OUT
fi
# Combine outputs
COMBINED_OUTPUT="${VALIDATE_OUTPUT}"
if [ -n "$TEST_OUTPUT" ]; then
COMBINED_OUTPUT="${COMBINED_OUTPUT}
echo "Terraform validation passed"
echo "is_valid=true" >> $GITHUB_OUT
=== Terraform Test Results ===
${TEST_OUTPUT}"
fi

# Set outputs
echo "stdout<<EOF" >> $GITHUB_OUTPUT
echo "$COMBINED_OUTPUT" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT

echo "stderr<<EOF" >> $GITHUB_OUTPUT
if [ $VALIDATE_EXIT_CODE -ne 0 ]; then
echo "$VALIDATE_OUTPUT" >> $GITHUB_OUTPUT
elif [ $TEST_EXIT_CODE -ne 0 ]; then
echo "$TEST_OUTPUT" >> $GITHUB_OUTPUT
- name: Terraform Test
id: test
shell: bash
run: |
terraform test
if [[ $? -ne 0 ]]; then
echo "Terraform tests failed"
echo "tests_passed=false" >> $GITHUB_OUT
fi
echo "EOF" >> $GITHUB_OUTPUT

echo "is_valid=$([ $VALIDATE_EXIT_CODE -eq 0 ] && echo 'true' || echo 'false')" >> $GITHUB_OUTPUT
echo "tests_passed=$([ $TEST_EXIT_CODE -eq 0 ] && echo 'true' || echo 'false')" >> $GITHUB_OUTPUT
# Exit with failure if either validate or test failed
if [ $VALIDATE_EXIT_CODE -ne 0 ] || [ $TEST_EXIT_CODE -ne 0 ]; then
exit 1
fi
echo "Terraform tests passed"
echo "tests_passed=true" >> $GITHUB_OUT
- name: Set Outputs
id: set_outputs
shell: bash
run: |
echo "is_valid=${{ steps.validate.outputs.is_valid }}" >> $GITHUB_ENV
echo "tests_passed=${{ steps.test.outputs.tests_passed }}" >> $GITHUB_ENV

0 comments on commit 4b1ffac

Please sign in to comment.