honnef.co/go/tools@v0.5.0-0.dev.0.20240520180541-dcae280a5e87/.github/workflows/ci.yml (about)

     1  name: "CI"
     2  on: ["push", "pull_request"]
     3  
     4  jobs:
     5    ci:
     6      name: "Run CI"
     7      strategy:
     8        fail-fast: false
     9        matrix:
    10          os: ["windows-latest", "ubuntu-latest", "macOS-latest"]
    11          go: ["1.22.x"]
    12          godebug: ["gotypesalias=0", "gotypesalias=1"]
    13      runs-on: ${{ matrix.os }}
    14      steps:
    15      - uses: actions/checkout@v1
    16        with:
    17          fetch-depth: 1
    18      - uses: WillAbides/setup-go-faster@v1.14.0
    19        with:
    20          go-version: ${{ matrix.go }}
    21      - run: "go test ./..."
    22        env:
    23          GODEBUG: ${{ matrix.godebug }}
    24      - run: "go vet ./..."
    25      - uses: dominikh/staticcheck-action@v1
    26        with:
    27          version: "2023.1.7"
    28          min-go-version: "module"
    29          install-go: false
    30          cache-key: ${{ matrix.go }}
    31          output-format: binary
    32          output-file: "./staticcheck.bin"
    33      - uses: actions/upload-artifact@v3
    34        with:
    35          name: "staticcheck-${{ github.sha }}-${{ matrix.go }}-${{ matrix.os }}.bin"
    36          path: "./staticcheck.bin"
    37          retention-days: 1
    38          if-no-files-found: warn
    39    output:
    40      name: "Output Staticcheck findings"
    41      needs: ci
    42      runs-on: "ubuntu-latest"
    43      steps:
    44      - uses: WillAbides/setup-go-faster@v1.14.0
    45        with:
    46          go-version: "stable"
    47      # this downloads all artifacts of the current workflow into the current working directory, creating one directory per artifact
    48      - uses: actions/download-artifact@v3
    49      - id: glob
    50        run: |
    51          # We replace newlines with %0A, which GitHub apparently magically turns back into newlines
    52          out=$(ls -1 ./staticcheck-*.bin/*.bin)
    53          echo "::set-output name=files::${out//$'\n'/%0A}"
    54      - uses: dominikh/staticcheck-action@v1
    55        with:
    56          install-go: false
    57          merge-files: ${{ steps.glob.outputs.files }}