name: CI on: push: branches: [ main ] pull_request: branches: [ main ] jobs: build: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 - name: Set up Go uses: actions/setup-go@v4 with: go-version: 1.23 - name: Cache Go modules uses: actions/cache@v3 with: path: | ~/.cache/go-build ~/go/pkg/mod key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-go- - name: Install dependencies run: go mod download - name: Run fmt check run: go fmt ./... - name: Run vet run: go vet ./... - name: Run tests run: go test ./... -v - name: Build artifacts run: | GOOS=linux GOARCH=amd64 go build -o bin/updns-linux-amd64 ./cmd/updns GOOS=darwin GOARCH=amd64 go build -o bin/updns-darwin-amd64 ./cmd/updns