name: CI run-name: "CI" on: push: branches: [main] pull_request: branches: [main] jobs: test: name: Test runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version-file: go.mod - name: Vet run: go vet ./... - name: Test run: go test ./... - name: Format check run: | unformatted=$(gofmt -l .) if [ -n "$unformatted" ]; then echo "Files need gofmt:" echo "$unformatted" exit 1 fi build: name: Build runs-on: ubuntu-latest needs: test steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version-file: go.mod - name: Build binary run: | CGO_ENABLED=0 go build -trimpath -o pgtidy ./cmd/pgtidy echo "Build successful:" ls -lh pgtidy