Compare commits

...
19 Commits
Author SHA1 Message Date
dependabot[bot] 2ed87efab0 build(deps-dev): bump @humanfs/node from 0.16.7 to 0.16.8 (#1421) 2026-09-03 05:35:24 +02:00
dependabot[bot] c4842f37dd build(deps): bump the github-actions group with 2 updates (#1419) 2026-09-01 13:02:34 +02:00
Ludovic Fernandez 541d7b0384 chore: update test version targets (#1417) 2026-09-01 02:27:14 +02:00
biancalanaandFernandez Ludovic 3de4be9e74 fix: binary installation for FreeBSD (#1415)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2026-08-21 01:51:25 +02:00
Ludovic Fernandez c3ef4a2b0b build(deps): bump undici from 6.28.0 to 7.16.0 (#1412) 2026-08-11 12:46:39 +02:00
Fernandez Ludovic 7791272dd3 chore: generate 2026-08-11 11:54:20 +02:00
Fernandez Ludovic a8c3248d3d build(deps): bump undici 2026-08-11 04:05:12 +02:00
dependabot[bot]andFernandez Ludovic c620e17647 build(deps): bump brace-expansion (#1410)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2026-08-11 02:02:49 +00:00
dependabot[bot] cb7d1a18ef build(deps-dev): bump js-yaml from 4.2.0 to 4.3.1 (#1411) 2026-08-11 03:52:32 +02:00
dependabot[bot] bbd93eaebb build(deps): bump the github-actions group with 5 updates (#1408) 2026-08-01 11:59:54 +02:00
dependabot[bot] e72a236d12 build(deps): bump the github-actions group with 4 updates (#1405) 2026-07-01 11:25:16 +02:00
Fernandez Ludovic ba0d7d2ec0 chore: prepare release v9.3.0 2026-06-29 17:43:58 +02:00
Ludovic Fernandez efd0857dc4 feat: add no-run-logs-group as experimental option (#1403) 2026-06-29 17:39:16 +02:00
Fernandez Ludovic ed485de1ff build(deps): bump undici from 6.24.0 to 6.27.0 2026-06-22 16:28:45 +02:00
dependabot[bot] 8872e8d04c build(deps-dev): bump js-yaml from 4.1.1 to 4.2.0 (#1400) 2026-06-15 22:06:49 +02:00
dependabot[bot]andFernandez Ludovic b163415b47 build(deps): bump tmp from 0.2.6 to 0.2.7 (#1399)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2026-06-15 19:48:21 +00:00
dependabot[bot] e52a9f8996 build(deps): bump github/codeql-action from 4.35.5 to 4.36.0 in the github-actions group (#1398) 2026-06-02 06:11:24 +02:00
dependabot[bot]andFernandez Ludovic 8182aa3494 build(deps): bump tmp from 0.2.5 to 0.2.6 (#1397)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2026-05-28 13:01:57 +02:00
dependabot[bot] 5403a413de build(deps): bump github/codeql-action from 4.35.4 to 4.35.5 in the github-actions group (#1395) 2026-05-22 02:50:10 +02:00
10 changed files with 32539 additions and 11797 deletions
+3 -3
View File
@@ -19,7 +19,7 @@ jobs:
security-events: write
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
# Must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head of the pull request.
@@ -35,7 +35,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@68bde559dea0fdcac2102bfdf6230c5f70eb485e # v4.35.4
uses: github/codeql-action/init@db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28 # v4.37.8
# Override language selection by uncommenting this and choosing your languages
with:
languages: 'javascript-typescript'
@@ -45,4 +45,4 @@ jobs:
npm run all
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@68bde559dea0fdcac2102bfdf6230c5f70eb485e # v4.35.4
uses: github/codeql-action/analyze@db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28 # v4.37.8
+23 -23
View File
@@ -15,10 +15,10 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: 24.x
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- run: |
@@ -41,17 +41,17 @@ jobs:
version:
- ""
- "latest"
- "v2.12"
- "v2.12.2"
- "v2.13"
- "v2.13.2"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: 24.x
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0
with:
go-version: oldstable
- uses: ./
@@ -73,17 +73,17 @@ jobs:
version:
- ""
- "latest"
- "v2.12.1"
- "c0d3ddc9cf3faa61a4e378e879ece580256d76e5"
- "v2.13.2"
- "dfd21f102e8031c6d4d1c8ec1d3e75c29197855c"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: 24.x
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0
with:
go-version: oldstable
- uses: ./
@@ -107,13 +107,13 @@ jobs:
- fixtures/go-tool
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: 24.x
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0
with:
go-version: oldstable
- uses: ./
@@ -134,17 +134,17 @@ jobs:
version:
- ""
- "latest"
- "v2.12"
- "v2.12.1"
- "v2.13"
- "v2.13.2"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: 24.x
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0
with:
go-version: oldstable
- uses: ./
@@ -164,13 +164,13 @@ jobs:
- windows-latest
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: 24.x
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0
with:
go-version: oldstable
- uses: ./
+23 -6
View File
@@ -56,7 +56,7 @@ jobs:
- name: golangci-lint
uses: golangci/golangci-lint-action@v9
with:
version: v2.12
version: v2.13
```
</details>
@@ -94,7 +94,7 @@ jobs:
- name: golangci-lint
uses: golangci/golangci-lint-action@v9
with:
version: v2.12
version: v2.13
```
You will also likely need to add the following `.gitattributes` file to ensure that line endings for Windows builds are properly formatted:
@@ -120,7 +120,7 @@ on:
env:
GO_VERSION: stable
GOLANGCI_LINT_VERSION: v2.12
GOLANGCI_LINT_VERSION: v2.13
jobs:
detect-modules:
@@ -179,7 +179,7 @@ jobs:
with:
os: ${{ matrix.os }}
go-version: ${{ matrix.go-version }}
golangci-lint-version: v2.12
golangci-lint-version: v2.13
```
```yaml
@@ -201,7 +201,7 @@ on:
golangci-lint-version:
description: 'Golangci-lint version'
type: string
default: 'v2.12'
default: 'v2.13'
jobs:
detect-modules:
@@ -296,7 +296,7 @@ When `install-mode` is:
```yml
uses: golangci/golangci-lint-action@v9
with:
version: v2.12
version: v2.13
# ...
```
@@ -616,6 +616,23 @@ with:
</details>
#### `no-run-logs-group`
(optional)
This option disables the grouping of logs from golangci-lint run.
<details>
<summary>Example</summary>
```yaml
uses: golangci/golangci-lint-action@v9
with:
experimental: "no-run-logs-group"
```
</details>
## Annotations
Currently, GitHub parses the action's output and creates [annotations](https://github.blog/2018-12-14-introducing-check-runs-and-annotations/).
+1
View File
@@ -76,6 +76,7 @@ inputs:
description: |
Experimental options for the action.
List of comma separated options.
Available options: `automatic-module-directories`, `no-run-logs-group`
default: ""
required: false
runs:
Generated Vendored
+16210 -5866
View File
File diff suppressed because one or more lines are too long
Generated Vendored
+16210 -5866
View File
File diff suppressed because one or more lines are too long
+51 -27
View File
@@ -1,12 +1,12 @@
{
"name": "golanci-lint-action",
"version": "8.0.0",
"version": "9.3.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "golanci-lint-action",
"version": "8.0.0",
"version": "9.3.0",
"license": "MIT",
"dependencies": {
"@actions/cache": "^5.0.3",
@@ -20,7 +20,7 @@
"@types/semver": "^7.7.1",
"@types/tmp": "^0.2.6",
"@types/which": "^3.0.4",
"tmp": "^0.2.5",
"tmp": "^0.2.7",
"which": "^7.0.0",
"yaml": "^2.9.0"
},
@@ -656,29 +656,43 @@
}
},
"node_modules/@humanfs/core": {
"version": "0.19.1",
"resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz",
"integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==",
"version": "0.19.2",
"resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz",
"integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
"@humanfs/types": "^0.15.0"
},
"engines": {
"node": ">=18.18.0"
}
},
"node_modules/@humanfs/node": {
"version": "0.16.7",
"resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz",
"integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==",
"version": "0.16.8",
"resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz",
"integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
"@humanfs/core": "^0.19.1",
"@humanfs/core": "^0.19.2",
"@humanfs/types": "^0.15.0",
"@humanwhocodes/retry": "^0.4.0"
},
"engines": {
"node": ">=18.18.0"
}
},
"node_modules/@humanfs/types": {
"version": "0.15.0",
"resolved": "https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz",
"integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==",
"dev": true,
"license": "Apache-2.0",
"engines": {
"node": ">=18.18.0"
}
},
"node_modules/@humanwhocodes/module-importer": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
@@ -1163,16 +1177,16 @@
}
},
"node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
"version": "5.0.5",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz",
"integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==",
"version": "5.0.9",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.9.tgz",
"integrity": "sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==",
"dev": true,
"license": "MIT",
"dependencies": {
"balanced-match": "^4.0.2"
},
"engines": {
"node": "18 || 20 || >=22"
"node": "20 || >=22"
}
},
"node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
@@ -1520,9 +1534,9 @@
"license": "MIT"
},
"node_modules/brace-expansion": {
"version": "1.1.14",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz",
"integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==",
"version": "1.1.18",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.18.tgz",
"integrity": "sha512-Edep/X9fGqVNmzKBVsDYIOtD+z1tuezV70LBjdCst9Tqu76lsnvRiZ6oTic1n+/BIwX6QDGAO94PN4N2SADvtw==",
"license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
@@ -3169,10 +3183,20 @@
}
},
"node_modules/js-yaml": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.1.tgz",
"integrity": "sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ==",
"dev": true,
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/puzrin"
},
{
"type": "github",
"url": "https://github.com/sponsors/nodeca"
}
],
"license": "MIT",
"dependencies": {
"argparse": "^2.0.1"
@@ -4038,9 +4062,9 @@
}
},
"node_modules/tmp": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz",
"integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==",
"version": "0.2.7",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.7.tgz",
"integrity": "sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw==",
"license": "MIT",
"engines": {
"node": ">=14.14"
@@ -4209,12 +4233,12 @@
}
},
"node_modules/undici": {
"version": "6.25.0",
"resolved": "https://registry.npmjs.org/undici/-/undici-6.25.0.tgz",
"integrity": "sha512-ZgpWDC5gmNiuY9CnLVXEH8rl50xhRCuLNA97fAUnKi8RRuV4E6KG31pDTsLVUKnohJE0I3XDrTeEydAXRw47xg==",
"version": "7.29.0",
"resolved": "https://registry.npmjs.org/undici/-/undici-7.29.0.tgz",
"integrity": "sha512-IDxfleLmmbSskfWSUATiN1nfn2rDuvnMOqb5CWR92iIfojA0Ud+ulOAAEQ57LPr9rWmsreUyf5lwyao+7GNNVw==",
"license": "MIT",
"engines": {
"node": ">=18.17"
"node": ">=20.18.1"
}
},
"node_modules/undici-types": {
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "golanci-lint-action",
"version": "9.2.1",
"version": "9.3.0",
"private": true,
"description": "golangci-lint github action",
"main": "dist/main.js",
@@ -38,7 +38,7 @@
"@types/semver": "^7.7.1",
"@types/tmp": "^0.2.6",
"@types/which": "^3.0.4",
"tmp": "^0.2.5",
"tmp": "^0.2.7",
"which": "^7.0.0",
"yaml": "^2.9.0"
},
@@ -59,6 +59,6 @@
"typescript": "^5.9.3"
},
"overrides": {
"undici": "^6.24.0"
"undici": "^7.16.0"
}
}
+1 -1
View File
@@ -145,7 +145,7 @@ async function installBin(versionInfo: VersionInfo): Promise<string> {
} else {
// We want to always overwrite files if the local cache already has them
const args = ["xz"]
if (process.platform.toString() != "darwin") {
if (!["darwin", "freebsd"].includes(process.platform.toString())) {
args.push("--overwrite")
}
extractedDir = await tc.extractTar(archivePath, process.env.HOME, args)
+14 -2
View File
@@ -205,19 +205,31 @@ async function runLint(binPath: string): Promise<void> {
const experimental = core.getInput(`experimental`).split(`,`)
const noGroup = experimental.includes(`no-run-logs-group`)
if (experimental.includes(`automatic-module-directories`)) {
const wds = modulesAutoDetection(workingDirectory)
const cwd = process.cwd()
for (const wd of wds) {
await core.group(`run golangci-lint in ${path.relative(cwd, wd)}`, () => runGolangciLint(binPath, wd))
await optionalGroup(noGroup, `run golangci-lint in ${path.relative(cwd, wd)}`, () => runGolangciLint(binPath, wd))
}
return
}
await core.group(`run golangci-lint`, () => runGolangciLint(binPath, workingDirectory))
await optionalGroup(noGroup, `run golangci-lint`, () => runGolangciLint(binPath, workingDirectory))
}
async function optionalGroup<T>(noGroup: boolean, name: string, fn: () => Promise<T>): Promise<T> {
if (noGroup) {
core.info(name)
return fn()
}
return core.group(name, fn)
}
export async function run(): Promise<void> {