Repository navigation
chore(deps): bump github.com/tinylib/msgp from 1.6.4 to 1.6.5 #1581
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: ci | |
| on: | |
| pull_request: | |
| branches: ["main"] | |
| schedule: | |
| - cron: "17 3 * * 1" | |
| env: | |
| GO_VERSION: "1.27.1" | |
| jobs: | |
| check: | |
| if: ${{ github.event_name == 'pull_request' }} | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Setup Go | |
| uses: actions/setup-go@v7 | |
| with: | |
| go-version: ${{ env.GO_VERSION }} | |
| - name: Format | |
| run: gofmt -s -w . && git diff --exit-code | |
| - name: Mod download | |
| run: go mod download | |
| - name: Tidy | |
| run: go mod tidy && git diff --exit-code | |
| - name: Mod verify | |
| run: go mod verify | |
| - name: Lint | |
| uses: dominikh/staticcheck-action@v1.4.1 | |
| with: | |
| version: "2026.2.1" | |
| install-go: false | |
| test: | |
| if: ${{ github.event_name == 'pull_request' }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: ["ubuntu-latest", "macos-latest"] | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup Go | |
| uses: actions/setup-go@v7 | |
| with: | |
| go-version: ${{ env.GO_VERSION }} | |
| - name: Test | |
| run: go test -v -parallel 8 ./... | |
| race: | |
| if: ${{ github.event_name == 'pull_request' }} | |
| name: race (linux) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Setup Go | |
| uses: actions/setup-go@v7 | |
| with: | |
| go-version: ${{ env.GO_VERSION }} | |
| - name: Race test lifecycle-sensitive packages | |
| run: go test -race -count=1 -parallel 8 ./internal/client ./internal/fetch ./internal/grpc ./internal/pager ./internal/resolver ./internal/ws | |
| test-windows: | |
| if: ${{ github.event_name == 'pull_request' }} | |
| name: test (windows-latest) | |
| needs: build-windows | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup Go | |
| uses: actions/setup-go@v7 | |
| with: | |
| go-version: ${{ env.GO_VERSION }} | |
| - name: Download fetch binary | |
| uses: actions/download-artifact@v8 | |
| with: | |
| name: fetch-windows-amd64 | |
| path: ${{ runner.temp }} | |
| - name: Test | |
| env: | |
| FETCH_INTEGRATION_BINARY: ${{ runner.temp }}\fetch.exe | |
| run: go test -v -parallel 8 ./... | |
| build-windows: | |
| if: ${{ github.event_name == 'pull_request' }} | |
| name: build (windows-amd64) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup Go | |
| uses: actions/setup-go@v7 | |
| with: | |
| go-version: ${{ env.GO_VERSION }} | |
| - name: Go build | |
| env: | |
| GOOS: windows | |
| GOARCH: amd64 | |
| CGO_ENABLED: "0" | |
| run: go build -trimpath -ldflags="-s -w" -o fetch.exe | |
| - name: Upload fetch binary | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: fetch-windows-amd64 | |
| path: fetch.exe | |
| if-no-files-found: error | |
| retention-days: 1 | |
| build: | |
| if: ${{ github.event_name == 'pull_request' }} | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| build: | |
| - linux-amd64 | |
| - linux-arm64 | |
| - darwin-amd64 | |
| - darwin-arm64 | |
| - windows-arm64 | |
| include: | |
| - build: linux-amd64 | |
| goos: linux | |
| goarch: amd64 | |
| - build: linux-arm64 | |
| goos: linux | |
| goarch: arm64 | |
| - build: darwin-amd64 | |
| goos: darwin | |
| goarch: amd64 | |
| - build: darwin-arm64 | |
| goos: darwin | |
| goarch: arm64 | |
| - build: windows-arm64 | |
| goos: windows | |
| goarch: arm64 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Setup Go | |
| uses: actions/setup-go@v7 | |
| with: | |
| go-version: ${{ env.GO_VERSION }} | |
| - name: Go build | |
| env: | |
| GOOS: ${{ matrix.goos }} | |
| GOARCH: ${{ matrix.goarch }} | |
| CGO_ENABLED: "0" | |
| run: go install -trimpath -ldflags="-s -w" | |
| scheduled-smoke: | |
| if: ${{ github.event_name == 'schedule' }} | |
| name: scheduled fuzz and benchmark smoke | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Setup Go | |
| uses: actions/setup-go@v7 | |
| with: | |
| go-version: ${{ env.GO_VERSION }} | |
| - name: Fuzz DNS wire decoder | |
| run: go test -run '^$' -fuzz FuzzDecodeDNSWire -fuzztime 5s ./internal/resolver | |
| - name: Fuzz gRPC framing | |
| run: go test -run '^$' -fuzz FuzzUnframe -fuzztime 5s ./internal/grpc | |
| - name: Fuzz WebSocket piped-line framing | |
| run: go test -run '^$' -fuzz FuzzReadBoundedLine -fuzztime 5s ./internal/ws | |
| - name: Benchmark terminal streaming | |
| run: go test -run '^$' -bench '^BenchmarkTerminalSafeReader' -benchtime 1x ./internal/fetch | |
| - name: Benchmark gRPC framing | |
| run: go test -run '^$' -bench '^BenchmarkFrame' -benchtime 1x ./internal/grpc |