mirror of
https://github.com/golangci/golangci-lint-action.git
synced 2026-07-07 00:51:38 +00:00
Compare commits
45 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 537aa1903e | |||
| f70e52dcc9 | |||
| a304692ecb | |||
| eeca7c5026 | |||
| dfbcd2aee1 | |||
| 4421331437 | |||
| 5e6c1bb9e2 | |||
| 44eba43bae | |||
| 358a5e374f | |||
| b9c65a53a1 | |||
| 9620ff9416 | |||
| f973c7630e | |||
| ac76264da2 | |||
| b6b896c763 | |||
| 6d7c5c3914 | |||
| df2c66cf29 | |||
| f9d718302d | |||
| c3ef0c3702 | |||
| e498e7736a | |||
| e1674c1af9 | |||
| f233bcb89a | |||
| 4b237a63e5 | |||
| af9f6d8b8e | |||
| fb6358de51 | |||
| 226c5fce6f | |||
| 009d23987c | |||
| 6f887e018c | |||
| 5af63786ee | |||
| 128458b745 | |||
| ca6bec4c75 | |||
| 042a8136fa | |||
| 827c06dc36 | |||
| 0105abc295 | |||
| eb940f762b | |||
| f9482e011a | |||
| 1e52a5d65c | |||
| 2a74a2a5c4 | |||
| 6ab5ae85b2 | |||
| 024aa36e22 | |||
| f6cb2006aa | |||
| b517f99ae2 | |||
| 9636c5bc97 | |||
| 03e4befc7a | |||
| cdfc708aeb | |||
| 7d5614c3eb |
@@ -16,7 +16,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
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.
|
||||
@@ -31,7 +31,7 @@ jobs:
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v1
|
||||
uses: github/codeql-action/init@v2
|
||||
# Override language selection by uncommenting this and choosing your languages
|
||||
with:
|
||||
language: 'javascript'
|
||||
@@ -41,4 +41,4 @@ jobs:
|
||||
npm run all
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v1
|
||||
uses: github/codeql-action/analyze@v2
|
||||
|
||||
@@ -10,13 +10,32 @@ jobs:
|
||||
build: # make sure build/ci work properly
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-go@v2
|
||||
- uses: actions/checkout@v3
|
||||
- run: |
|
||||
npm install
|
||||
npm run all
|
||||
|
||||
# Update dist files if there is label dependencies
|
||||
- name: Update dist files
|
||||
if: github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'dependencies')
|
||||
run: |
|
||||
if [[ -z $(git status -s) ]]
|
||||
then
|
||||
echo "No change is required"
|
||||
else
|
||||
echo "Updating dist directory"
|
||||
git config --local user.name "dependabot[bot]"
|
||||
git config --local user.email "49699333+dependabot[bot]@users.noreply.github.com"
|
||||
git add --update
|
||||
git commit --message="Update dist files"
|
||||
git push
|
||||
fi
|
||||
|
||||
# Fail the build if there is dirty change
|
||||
- run: git diff --exit-code
|
||||
|
||||
test: # make sure the action works on a clean machine without building
|
||||
needs: [ build ]
|
||||
strategy:
|
||||
matrix:
|
||||
os:
|
||||
@@ -33,8 +52,8 @@ jobs:
|
||||
contents: read
|
||||
pull-requests: read
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-go@v2
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-go@v3
|
||||
- uses: ./
|
||||
with:
|
||||
version: ${{ matrix.version }}
|
||||
@@ -42,6 +61,7 @@ jobs:
|
||||
only-new-issues: true
|
||||
|
||||
test-go-mod-version:
|
||||
needs: [ build ]
|
||||
strategy:
|
||||
matrix:
|
||||
os:
|
||||
@@ -52,8 +72,8 @@ jobs:
|
||||
permissions:
|
||||
contents: read
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-go@v2
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-go@v3
|
||||
- uses: ./
|
||||
with:
|
||||
working-directory: sample-go-mod
|
||||
|
||||
@@ -9,7 +9,7 @@ The action runs [golangci-lint](https://github.com/golangci/golangci-lint) and r
|
||||
|
||||
## Compatibility
|
||||
|
||||
* `v3.0.0+` requires explicit setup-go installation step prior to using this action: `uses: actions/setup-go@v2`.
|
||||
* `v3.0.0+` requires explicit setup-go installation step prior to using this action: `uses: actions/setup-go@v3`.
|
||||
The `skip-go-installation` option has been removed.
|
||||
* `v2.0.0+` works with `golangci-lint` version >= `v1.28.3`
|
||||
* `v1.2.2` is deprecated due to we forgot to change the minimum version of `golangci-lint` to `v1.28.3` ([issue](https://github.com/golangci/golangci-lint-action/issues/39))
|
||||
@@ -38,10 +38,12 @@ jobs:
|
||||
name: lint
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/setup-go@v2
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-go@v3
|
||||
with:
|
||||
go-version: 1.17
|
||||
- uses: actions/checkout@v3
|
||||
- name: golangci-lint
|
||||
uses: golangci/golangci-lint-action@v2
|
||||
uses: golangci/golangci-lint-action@v3
|
||||
with:
|
||||
# Optional: version of golangci-lint to use in form of v1.2 or v1.2.3 or `latest` to use the latest version
|
||||
version: v1.29
|
||||
@@ -55,6 +57,10 @@ jobs:
|
||||
# Optional: show only new issues if it's a pull request. The default value is `false`.
|
||||
# only-new-issues: true
|
||||
|
||||
# Optional: if set to true then the all caching functionality will be complete disabled,
|
||||
# takes precedence over all other caching options.
|
||||
# skip-cache: true
|
||||
|
||||
# Optional: if set to true then the action don't cache or restore ~/go/pkg.
|
||||
# skip-pkg-cache: true
|
||||
|
||||
@@ -87,15 +93,17 @@ jobs:
|
||||
golangci:
|
||||
strategy:
|
||||
matrix:
|
||||
go-version: [1.15.x]
|
||||
go: [1.17]
|
||||
os: [macos-latest, windows-latest]
|
||||
name: lint
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/setup-go@v2
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-go@v3
|
||||
with:
|
||||
go-version: ${{ matrix.go }}
|
||||
- uses: actions/checkout@v3
|
||||
- name: golangci-lint
|
||||
uses: golangci/golangci-lint-action@v2
|
||||
uses: golangci/golangci-lint-action@v3
|
||||
with:
|
||||
# Required: the version of golangci-lint is required and must be specified without patch version: we always use the latest patch version.
|
||||
version: v1.29
|
||||
|
||||
@@ -20,6 +20,12 @@ inputs:
|
||||
description: "if set to true and the action runs on a pull request - the action outputs only newly found issues"
|
||||
default: false
|
||||
required: true
|
||||
skip-cache:
|
||||
description: |
|
||||
if set to true then the all caching functionality will be complete disabled,
|
||||
takes precedence over all other caching options.
|
||||
default: false
|
||||
required: true
|
||||
skip-pkg-cache:
|
||||
description: "if set to true then the action doesn't cache or restore ~/go/pkg."
|
||||
default: false
|
||||
|
||||
Vendored
+2379
-961
File diff suppressed because one or more lines are too long
Vendored
+2379
-961
File diff suppressed because one or more lines are too long
Generated
+631
-512
File diff suppressed because it is too large
Load Diff
+14
-14
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "golanci-lint-action",
|
||||
"version": "2.0.0",
|
||||
"version": "3.1.0",
|
||||
"private": true,
|
||||
"description": "golangci-lint github action",
|
||||
"main": "dist/main.js",
|
||||
@@ -24,25 +24,25 @@
|
||||
"author": "golangci",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@actions/cache": "^1.0.9",
|
||||
"@actions/core": "^1.6.0",
|
||||
"@actions/exec": "^1.1.0",
|
||||
"@actions/github": "^5.0.0",
|
||||
"@actions/tool-cache": "^1.7.1",
|
||||
"@actions/cache": "^2.0.2",
|
||||
"@actions/core": "^1.8.0",
|
||||
"@actions/exec": "^1.1.1",
|
||||
"@actions/github": "^5.0.1",
|
||||
"@actions/tool-cache": "^1.7.2",
|
||||
"@types/semver": "^7.3.9",
|
||||
"@types/tmp": "^0.2.3",
|
||||
"tmp": "^0.2.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@typescript-eslint/eslint-plugin": "^5.12.1",
|
||||
"@typescript-eslint/parser": "^5.12.1",
|
||||
"@vercel/ncc": "^0.33.3",
|
||||
"eslint": "^8.9.0",
|
||||
"eslint-config-prettier": "^8.4.0",
|
||||
"eslint-plugin-import": "^2.25.4",
|
||||
"@typescript-eslint/eslint-plugin": "^5.22.0",
|
||||
"@typescript-eslint/parser": "^5.22.0",
|
||||
"@vercel/ncc": "^0.33.4",
|
||||
"eslint": "^8.15.0",
|
||||
"eslint-config-prettier": "^8.5.0",
|
||||
"eslint-plugin-import": "^2.26.0",
|
||||
"eslint-plugin-prettier": "^4.0.0",
|
||||
"eslint-plugin-simple-import-sort": "^7.0.0",
|
||||
"prettier": "^2.5.1",
|
||||
"typescript": "^4.5.5"
|
||||
"prettier": "^2.6.2",
|
||||
"typescript": "^4.6.4"
|
||||
}
|
||||
}
|
||||
|
||||
+5
-4
@@ -52,12 +52,9 @@ const getIntervalKey = (invalidationIntervalDays: number): string => {
|
||||
|
||||
async function buildCacheKeys(): Promise<string[]> {
|
||||
const keys = []
|
||||
let cacheKey = `golangci-lint.cache-`
|
||||
keys.push(cacheKey)
|
||||
|
||||
// Periodically invalidate a cache because a new code being added.
|
||||
// TODO: configure it via inputs.
|
||||
cacheKey += `${getIntervalKey(7)}-`
|
||||
let cacheKey = `golangci-lint.cache-${getIntervalKey(7)}-`
|
||||
keys.push(cacheKey)
|
||||
|
||||
if (await pathExists(`go.mod`)) {
|
||||
@@ -72,6 +69,8 @@ async function buildCacheKeys(): Promise<string[]> {
|
||||
}
|
||||
|
||||
export async function restoreCache(): Promise<void> {
|
||||
if (core.getInput(`skip-cache`, { required: true }).trim() == "true") return
|
||||
|
||||
if (!utils.isValidEvent()) {
|
||||
utils.logWarning(
|
||||
`Event Validation Error: The event type ${process.env[Events.Key]} is not supported because it's not tied to a branch or tag ref.`
|
||||
@@ -112,6 +111,8 @@ export async function restoreCache(): Promise<void> {
|
||||
}
|
||||
|
||||
export async function saveCache(): Promise<void> {
|
||||
if (core.getInput(`skip-cache`, { required: true }).trim() == "true") return
|
||||
|
||||
// Validate inputs, this can cause task failure
|
||||
if (!utils.isValidEvent()) {
|
||||
utils.logWarning(
|
||||
|
||||
Reference in New Issue
Block a user