name: Go on: push: branches: - main pull_request: branches: - main jobs: test: name: Test runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - uses: actions/setup-go@v2 with: go-version: "~1.18" - run: go test -race -coverprofile=coverage.out ./... build: name: Build runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, macos-latest, windows-latest] steps: - uses: actions/checkout@v2 - uses: actions/setup-go@v2 with: go-version: "~1.18" - run: go build golangci-lint: name: golangci-lint runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: golangci/golangci-lint-action@v2 with: version: latest semgrep: name: semgrep runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: returntocorp/semgrep-action@v1 with: config: >- p/security-audit p/secrets p/golang