Old AWS module migration guide #428
Workflow file for this run
This file contains hidden or 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: Lint and Validate | |
| on: | |
| merge_group: | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| lint: | |
| name: Terraform Lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Terraform | |
| uses: hashicorp/setup-terraform@v3 | |
| with: | |
| terraform_version: "1.9.0" | |
| - name: Terraform Format Check | |
| run: terraform fmt -check -recursive | |
| - name: Setup TFLint | |
| uses: terraform-linters/setup-tflint@v4 | |
| with: | |
| tflint_version: v0.58.0 | |
| - name: Initialize TFLint | |
| run: tflint --init | |
| - name: Run TFLint | |
| run: tflint --recursive --format compact | |
| validate: | |
| name: Validate Simple Examples | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| example: | |
| # Add new examples here as they are created | |
| - "aws/examples/simple" | |
| - "azure/examples/simple" | |
| - "gcp/examples/simple" | |
| fail-fast: false | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Terraform | |
| uses: hashicorp/setup-terraform@v3 | |
| with: | |
| terraform_version: "1.9.0" | |
| - name: Check if example exists | |
| id: check-dir | |
| run: | | |
| if [ ! -d "${{ matrix.example }}" ]; then | |
| echo "exists=false" >> $GITHUB_OUTPUT | |
| echo "⚠️ Example directory ${{ matrix.example }} does not exist, skipping" | |
| else | |
| echo "exists=true" >> $GITHUB_OUTPUT | |
| echo "✅ Example directory ${{ matrix.example }} exists" | |
| fi | |
| - name: Terraform Init | |
| if: steps.check-dir.outputs.exists == 'true' | |
| run: | | |
| cd ${{ matrix.example }} | |
| terraform init -backend=false | |
| - name: Terraform Validate | |
| if: steps.check-dir.outputs.exists == 'true' | |
| run: | | |
| cd ${{ matrix.example }} | |
| terraform validate | |
| lint-go: | |
| name: Go Tests Lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: "1.23.5" | |
| cache-dependency-path: test/go.sum | |
| - name: Run go fmt | |
| working-directory: test | |
| run: | | |
| if [ -n "$(gofmt -l .)" ]; then | |
| echo "❌ Go files are not formatted. Run 'gofmt -w .' to fix:" | |
| gofmt -l . | |
| exit 1 | |
| fi | |
| echo "✅ All Go files are properly formatted" | |
| - name: Run go vet | |
| working-directory: test | |
| run: go vet ./... | |
| - name: Run go mod verify | |
| working-directory: test | |
| run: go mod verify |