name: golangci-lint on: push: branches: - master pull_request: branches: - master schedule: # Trigger every day at 16:00 UTC - cron: '0 16 * * *' permissions: contents: read # to fetch code (actions/checkout) pull-requests: read # to fetch pull requests (golangci/golangci-lint-action) jobs: golangci: name: lint-codebase strategy: fail-fast: false max-parallel: 3 matrix: os: [ ubuntu-latest, macos-latest, windows-latest ] runs-on: ${{ matrix.os }} timeout-minutes: 360 #default steps: - name: Checkout code uses: actions/checkout@v3 - name: Setup Go uses: actions/setup-go@v4 with: go-version: '1.20' - name: golangci-lint standard if: runner.os != 'Windows' uses: golangci/golangci-lint-action@v3 timeout-minutes: 60 with: version: v1.53.2 args: --timeout 60m0s --verbose --out-${NO_FUTURE}format tab - name: golangci-lint windows if: runner.os == 'Windows' uses: golangci/golangci-lint-action@v3 timeout-minutes: 60 env: nofuture: out-format with: version: v1.53.2 args: --timeout 60m0s --verbose --%nofuture% tab