name: CI on: push: branches: [main] pull_request: branches: [main] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: '1.23' - name: Build run: go build ./... - name: Test run: go test ./... integration: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: '1.23' - name: Install and Start NATS Server run: | # Download nats-server curl -L https://github.com/nats-io/nats-server/releases/download/v2.10.24/nats-server-v2.10.24-linux-amd64.tar.gz -o nats-server.tar.gz tar -xzf nats-server.tar.gz # Run directly from extracted location (no sudo needed) ./nats-server-v2.10.24-linux-amd64/nats-server -js -p 4222 & # Wait for NATS to be ready sleep 3 ./nats-server-v2.10.24-linux-amd64/nats-server --version - name: Run Integration Tests run: go test -tags=integration -v ./...