terraform modules
cmd human view
#59
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: equivalence-test-diff | |
on: | |
pull_request: | |
types: | |
- synchronize | |
- ready_for_review | |
- reopened | |
permissions: | |
contents: read | |
pull-requests: write | |
env: | |
GH_TOKEN: ${{ github.token }} | |
jobs: | |
equivalence-test-diff: | |
name: "Equivalence Test Diff" | |
runs-on: ubuntu-latest | |
steps: | |
- name: Fetch source code | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Determine Go version | |
id: go | |
uses: ./.github/actions/go-version | |
- name: Install Go toolchain | |
uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0 | |
with: | |
go-version: ${{ steps.go.outputs.version }} | |
cache-dependency-path: go.sum | |
- name: Download testing framework | |
shell: bash | |
run: | | |
./.github/scripts/equivalence-test.sh download_equivalence_test_binary \ | |
0.4.0 \ | |
./bin/equivalence-tests \ | |
linux \ | |
amd64 | |
- name: Build terraform | |
shell: bash | |
run: ./.github/scripts/equivalence-test.sh build_terraform_binary ./bin/terraform | |
- name: Run equivalence tests | |
id: equivalence-tests | |
shell: bash {0} # we want to capture the exit code | |
run: | | |
./bin/equivalence-tests diff \ | |
--tests=testing/equivalence-tests/tests \ | |
--goldens=testing/equivalence-tests/outputs \ | |
--binary=$(pwd)/bin/terraform | |
echo "exit-code=$?" >> "${GITHUB_OUTPUT}" | |
- name: Equivalence tests failed | |
if: steps.equivalence-tests.outputs.exit-code == 1 # 1 is the exit code for failure | |
shell: bash | |
run: | | |
gh pr comment ${{ github.event.pull_request.number }} \ | |
--body "The equivalence tests failed. Please investigate [here](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})." | |
exit 1 # fail the job | |
- name: Equivalence tests changed | |
if: steps.equivalence-tests.outputs.exit-code == 2 # 2 is the exit code for changed | |
shell: bash | |
run: | | |
gh pr comment ${{ github.event.pull_request.number }} \ | |
--body "The equivalence tests will be updated. Please verify the changes [here](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})." |