Compare commits

...

16 Commits
v9.2.1 ... main

Author SHA1 Message Date
biancalana
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]
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]
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]
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 32508 additions and 11780 deletions

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@e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81 # v4.37.3
# 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@e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81 # v4.37.3

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: |
@@ -45,13 +45,13 @@ jobs:
- "v2.12.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: ./
@@ -77,13 +77,13 @@ jobs:
- "c0d3ddc9cf3faa61a4e378e879ece580256d76e5"
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: ./
@@ -138,13 +138,13 @@ jobs:
- "v2.12.1"
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: ./

View File

@@ -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/).

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:

22078
dist/post_run/index.js generated vendored

File diff suppressed because one or more lines are too long

22078
dist/run/index.js generated vendored

File diff suppressed because one or more lines are too long

50
package-lock.json generated
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"
},
@@ -1163,16 +1163,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 +1520,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 +3169,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 +4048,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 +4219,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": {

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"
}
}

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)

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> {