fleet/.github/workflows/golangci-lint.yml
2023-07-26 11:09:22 -07:00

64 lines
1.8 KiB
YAML

name: golangci-lint
on:
push:
branches:
- main
- patch-*
paths:
- '**.go'
pull_request:
paths:
- '**.go'
- '.github/workflows/golangci-lint.yml'
workflow_dispatch: # Manual
# This allows a subsequently queued workflow run to interrupt previous runs
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id}}
cancel-in-progress: true
defaults:
run:
# fail-fast using bash -eo pipefail. See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#exit-codes-and-error-action-preference
shell: bash
permissions:
contents: read
jobs:
golangci:
permissions:
contents: read # for actions/checkout to fetch code
pull-requests: read # for actions/checkout to fetch pull requests
name: lint
strategy:
fail-fast: false
matrix:
# See #9943, we just need to add windows-latest here once all issues are fixed.
os: [ubuntu-latest, macos-latest]
go-version: ['1.19.11']
runs-on: ${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # v2
- name: Install Go
uses: actions/setup-go@v4.0.1
with:
go-version: ${{ matrix.go-version }}
- name: Install dependencies (Linux)
if: matrix.os == 'ubuntu-latest'
run: |
# The following packages are needed to build Fleet Desktop on Ubuntu.
sudo apt update -y && sudo apt install -y gcc libgtk-3-dev libayatana-appindicator3-dev
- name: Run go lint
run: |
# Don't forget to update
# docs/Contributing/Testing-and-local-development.md when this
# version changes
go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.51.1
make lint-go