mirror of
https://github.com/golangci/golangci-lint-action.git
synced 2025-12-12 14:01:14 +00:00
183 lines
4.3 KiB
YAML
183 lines
4.3 KiB
YAML
name: "build-and-test"
|
|
|
|
on:
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
# make sure build/ci work properly
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/setup-node@v6
|
|
with:
|
|
node-version: 24.x
|
|
- uses: actions/checkout@v6
|
|
- run: |
|
|
npm install
|
|
npm run all
|
|
|
|
# Fail the build if there are changes.
|
|
- run: git diff --exit-code -- dist
|
|
|
|
# make sure the action works on a clean machine without building
|
|
test:
|
|
needs: [ build ]
|
|
strategy:
|
|
matrix:
|
|
os:
|
|
- ubuntu-latest
|
|
- ubuntu-22.04-arm
|
|
- macos-latest
|
|
- windows-latest
|
|
version:
|
|
- ""
|
|
- "latest"
|
|
- "v2.5"
|
|
- "v2.5.0"
|
|
runs-on: ${{ matrix.os }}
|
|
permissions:
|
|
contents: read
|
|
pull-requests: read
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
- uses: actions/setup-node@v6
|
|
with:
|
|
node-version: 24.x
|
|
- uses: actions/setup-go@v6
|
|
with:
|
|
go-version: oldstable
|
|
- uses: ./
|
|
with:
|
|
version: ${{ matrix.version }}
|
|
args: --timeout=5m --issues-exit-code=0 ./fixtures/simple/...
|
|
only-new-issues: true
|
|
|
|
# make sure the action works on a clean machine without building (go-install mode)
|
|
test-go-install:
|
|
needs: [ build ]
|
|
strategy:
|
|
matrix:
|
|
os:
|
|
- ubuntu-latest
|
|
- ubuntu-22.04-arm
|
|
- macos-latest
|
|
- windows-latest
|
|
version:
|
|
- ""
|
|
- "latest"
|
|
- "v2.5.0"
|
|
- "655e8ede5178280b2a640e185bc4a343aed0f54e"
|
|
runs-on: ${{ matrix.os }}
|
|
permissions:
|
|
contents: read
|
|
pull-requests: read
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
- uses: actions/setup-node@v6
|
|
with:
|
|
node-version: 24.x
|
|
- uses: actions/setup-go@v6
|
|
with:
|
|
go-version: oldstable
|
|
- uses: ./
|
|
with:
|
|
version: ${{ matrix.version }}
|
|
args: --timeout=5m --issues-exit-code=0 ./fixtures/simple/...
|
|
only-new-issues: true
|
|
install-mode: goinstall
|
|
|
|
test-go-mod:
|
|
needs: [ build ]
|
|
strategy:
|
|
matrix:
|
|
os:
|
|
- ubuntu-latest
|
|
- ubuntu-22.04-arm
|
|
- macos-latest
|
|
- windows-latest
|
|
wd:
|
|
- fixtures/go-mod
|
|
- fixtures/go-tool
|
|
runs-on: ${{ matrix.os }}
|
|
permissions:
|
|
contents: read
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
- uses: actions/setup-node@v6
|
|
with:
|
|
node-version: 24.x
|
|
- uses: actions/setup-go@v6
|
|
with:
|
|
go-version: oldstable
|
|
- uses: ./
|
|
with:
|
|
working-directory: ${{ matrix.wd }}
|
|
args: --timeout=5m --issues-exit-code=0 ./...
|
|
|
|
# make sure the action works on a clean machine with plugins
|
|
test-plugins:
|
|
needs: [ build ]
|
|
strategy:
|
|
matrix:
|
|
os:
|
|
- ubuntu-latest
|
|
- ubuntu-22.04-arm
|
|
- macos-latest
|
|
- windows-latest
|
|
version:
|
|
- ""
|
|
- "latest"
|
|
- "v2.5"
|
|
- "v2.5.0"
|
|
runs-on: ${{ matrix.os }}
|
|
permissions:
|
|
contents: read
|
|
pull-requests: read
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
- uses: actions/setup-node@v6
|
|
with:
|
|
node-version: 24.x
|
|
- uses: actions/setup-go@v6
|
|
with:
|
|
go-version: oldstable
|
|
- uses: ./
|
|
with:
|
|
version: ${{ matrix.version }}
|
|
working-directory: fixtures/plugins
|
|
args: --timeout=5m --issues-exit-code=0 ./...
|
|
|
|
test-monorepo:
|
|
needs: [ build ]
|
|
strategy:
|
|
matrix:
|
|
os:
|
|
- ubuntu-latest
|
|
- ubuntu-22.04-arm
|
|
- macos-latest
|
|
- windows-latest
|
|
runs-on: ${{ matrix.os }}
|
|
permissions:
|
|
contents: read
|
|
pull-requests: read
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
- uses: actions/setup-node@v6
|
|
with:
|
|
node-version: 24.x
|
|
- uses: actions/setup-go@v6
|
|
with:
|
|
go-version: oldstable
|
|
- uses: ./
|
|
with:
|
|
working-directory: fixtures/monorepo
|
|
experimental: "automatic-module-directories"
|
|
args: --timeout=5m --issues-exit-code=0 ./...
|