name: ci on: push: branches: [main] pull_request: jobs: test: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Go uses: actions/setup-go@v6 with: go-version-file: go.mod - name: Setup Terraform uses: hashicorp/setup-terraform@v3 - name: Verify go mod tidy is clean run: | go mod tidy git diff --exit-code go.mod go.sum - name: Verify gofmt run: | files="$(git ls-files '*.go')" test -z "$(gofmt -l ${files})" - name: Go vet run: go vet ./... - name: Go tests run: go test ./... - name: Terraform fmt check run: terraform fmt -check -recursive examples - name: Repository quality gate run: ./scripts/check.sh