mirror of
https://github.com/golangci/golangci-lint-action.git
synced 2026-01-16 20:34:30 +07:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
82d40c283a | ||
|
|
c683728f10 | ||
|
|
bf6479d5ec |
10
README.md
10
README.md
@@ -49,7 +49,7 @@ jobs:
|
|||||||
# Require: The version of golangci-lint to use.
|
# Require: The version of golangci-lint to use.
|
||||||
# When `install-mode` is `binary` (default) the value can be v1.2 or v1.2.3 or `latest` to use the latest version.
|
# When `install-mode` is `binary` (default) the value can be v1.2 or v1.2.3 or `latest` to use the latest version.
|
||||||
# When `install-mode` is `goinstall` the value can be v1.2.3, `latest`, or the hash of a commit.
|
# When `install-mode` is `goinstall` the value can be v1.2.3, `latest`, or the hash of a commit.
|
||||||
version: v1.54
|
version: v1.57
|
||||||
|
|
||||||
# Optional: working directory, useful for monorepos
|
# Optional: working directory, useful for monorepos
|
||||||
# working-directory: somedir
|
# working-directory: somedir
|
||||||
@@ -67,11 +67,9 @@ jobs:
|
|||||||
# takes precedence over all other caching options.
|
# takes precedence over all other caching options.
|
||||||
# skip-cache: true
|
# skip-cache: true
|
||||||
|
|
||||||
# Optional: if set to true, then the action won't cache or restore ~/go/pkg.
|
# Optional: if set to true, caches will not be saved, but they may still be restored,
|
||||||
# skip-pkg-cache: true
|
# subject to other options
|
||||||
|
# skip-save-cache: true
|
||||||
# Optional: if set to true, then the action won't cache or restore ~/.cache/go-build.
|
|
||||||
# skip-build-cache: true
|
|
||||||
|
|
||||||
# Optional: The mode to install golangci-lint. It can be 'binary' or 'goinstall'.
|
# Optional: The mode to install golangci-lint. It can be 'binary' or 'goinstall'.
|
||||||
# install-mode: "goinstall"
|
# install-mode: "goinstall"
|
||||||
|
|||||||
10
action.yml
10
action.yml
@@ -29,12 +29,10 @@ inputs:
|
|||||||
takes precedence over all other caching options.
|
takes precedence over all other caching options.
|
||||||
default: 'false'
|
default: 'false'
|
||||||
required: false
|
required: false
|
||||||
skip-pkg-cache:
|
skip-save-cache:
|
||||||
description: "if set to true then the action doesn't cache or restore ~/go/pkg."
|
description: |
|
||||||
default: 'false'
|
if set to true then the action will not save any caches, but it may still
|
||||||
required: false
|
restore existing caches, subject to other options.
|
||||||
skip-build-cache:
|
|
||||||
description: "if set to true then the action doesn't cache or restore ~/.cache/go-build."
|
|
||||||
default: 'false'
|
default: 'false'
|
||||||
required: false
|
required: false
|
||||||
install-mode:
|
install-mode:
|
||||||
|
|||||||
27
dist/post_run/index.js
generated
vendored
27
dist/post_run/index.js
generated
vendored
@@ -88813,25 +88813,6 @@ const pathExists = async (path) => !!(await fs.promises.stat(path).catch(() => f
|
|||||||
const getLintCacheDir = () => {
|
const getLintCacheDir = () => {
|
||||||
return path_1.default.resolve(`${process.env.HOME}/.cache/golangci-lint`);
|
return path_1.default.resolve(`${process.env.HOME}/.cache/golangci-lint`);
|
||||||
};
|
};
|
||||||
const getCacheDirs = () => {
|
|
||||||
// Not existing dirs are ok here: it works.
|
|
||||||
const skipPkgCache = core.getInput(`skip-pkg-cache`, { required: true }).trim();
|
|
||||||
const skipBuildCache = core.getInput(`skip-build-cache`, { required: true }).trim();
|
|
||||||
const dirs = [getLintCacheDir()];
|
|
||||||
if (skipBuildCache.toLowerCase() == "true") {
|
|
||||||
core.info(`Omitting ~/.cache/go-build from cache directories`);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
dirs.push(path_1.default.resolve(`${process.env.HOME}/.cache/go-build`));
|
|
||||||
}
|
|
||||||
if (skipPkgCache.toLowerCase() == "true") {
|
|
||||||
core.info(`Omitting ~/go/pkg from cache directories`);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
dirs.push(path_1.default.resolve(`${process.env.HOME}/go/pkg`));
|
|
||||||
}
|
|
||||||
return dirs;
|
|
||||||
};
|
|
||||||
const getIntervalKey = (invalidationIntervalDays) => {
|
const getIntervalKey = (invalidationIntervalDays) => {
|
||||||
const now = new Date();
|
const now = new Date();
|
||||||
const secondsSinceEpoch = now.getTime() / 1000;
|
const secondsSinceEpoch = now.getTime() / 1000;
|
||||||
@@ -88878,7 +88859,7 @@ async function restoreCache() {
|
|||||||
}
|
}
|
||||||
core.saveState(constants_1.State.CachePrimaryKey, primaryKey);
|
core.saveState(constants_1.State.CachePrimaryKey, primaryKey);
|
||||||
try {
|
try {
|
||||||
const cacheKey = await cache.restoreCache(getCacheDirs(), primaryKey, restoreKeys);
|
const cacheKey = await cache.restoreCache([getLintCacheDir()], primaryKey, restoreKeys);
|
||||||
if (!cacheKey) {
|
if (!cacheKey) {
|
||||||
core.info(`Cache not found for input keys: ${[primaryKey, ...restoreKeys].join(", ")}`);
|
core.info(`Cache not found for input keys: ${[primaryKey, ...restoreKeys].join(", ")}`);
|
||||||
return;
|
return;
|
||||||
@@ -88900,13 +88881,15 @@ exports.restoreCache = restoreCache;
|
|||||||
async function saveCache() {
|
async function saveCache() {
|
||||||
if (core.getInput(`skip-cache`, { required: true }).trim() == "true")
|
if (core.getInput(`skip-cache`, { required: true }).trim() == "true")
|
||||||
return;
|
return;
|
||||||
|
if (core.getInput(`skip-save-cache`, { required: true }).trim() == "true")
|
||||||
|
return;
|
||||||
// Validate inputs, this can cause task failure
|
// Validate inputs, this can cause task failure
|
||||||
if (!utils.isValidEvent()) {
|
if (!utils.isValidEvent()) {
|
||||||
utils.logWarning(`Event Validation Error: The event type ${process.env[constants_1.Events.Key]} is not supported because it's not tied to a branch or tag ref.`);
|
utils.logWarning(`Event Validation Error: The event type ${process.env[constants_1.Events.Key]} is not supported because it's not tied to a branch or tag ref.`);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const startedAt = Date.now();
|
const startedAt = Date.now();
|
||||||
const cacheDirs = getCacheDirs();
|
const cacheDirs = [getLintCacheDir()];
|
||||||
const primaryKey = core.getState(constants_1.State.CachePrimaryKey);
|
const primaryKey = core.getState(constants_1.State.CachePrimaryKey);
|
||||||
if (!primaryKey) {
|
if (!primaryKey) {
|
||||||
utils.logWarning(`Error retrieving key from state.`);
|
utils.logWarning(`Error retrieving key from state.`);
|
||||||
@@ -89177,7 +89160,7 @@ async function fetchPatch() {
|
|||||||
return ``;
|
return ``;
|
||||||
}
|
}
|
||||||
const ctx = github.context;
|
const ctx = github.context;
|
||||||
if (ctx.eventName !== `pull_request`) {
|
if (ctx.eventName !== `pull_request` && ctx.eventName !== `pull_request_target`) {
|
||||||
core.info(`Not fetching patch for showing only new issues because it's not a pull request context: event name is ${ctx.eventName}`);
|
core.info(`Not fetching patch for showing only new issues because it's not a pull request context: event name is ${ctx.eventName}`);
|
||||||
return ``;
|
return ``;
|
||||||
}
|
}
|
||||||
|
|||||||
27
dist/run/index.js
generated
vendored
27
dist/run/index.js
generated
vendored
@@ -88813,25 +88813,6 @@ const pathExists = async (path) => !!(await fs.promises.stat(path).catch(() => f
|
|||||||
const getLintCacheDir = () => {
|
const getLintCacheDir = () => {
|
||||||
return path_1.default.resolve(`${process.env.HOME}/.cache/golangci-lint`);
|
return path_1.default.resolve(`${process.env.HOME}/.cache/golangci-lint`);
|
||||||
};
|
};
|
||||||
const getCacheDirs = () => {
|
|
||||||
// Not existing dirs are ok here: it works.
|
|
||||||
const skipPkgCache = core.getInput(`skip-pkg-cache`, { required: true }).trim();
|
|
||||||
const skipBuildCache = core.getInput(`skip-build-cache`, { required: true }).trim();
|
|
||||||
const dirs = [getLintCacheDir()];
|
|
||||||
if (skipBuildCache.toLowerCase() == "true") {
|
|
||||||
core.info(`Omitting ~/.cache/go-build from cache directories`);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
dirs.push(path_1.default.resolve(`${process.env.HOME}/.cache/go-build`));
|
|
||||||
}
|
|
||||||
if (skipPkgCache.toLowerCase() == "true") {
|
|
||||||
core.info(`Omitting ~/go/pkg from cache directories`);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
dirs.push(path_1.default.resolve(`${process.env.HOME}/go/pkg`));
|
|
||||||
}
|
|
||||||
return dirs;
|
|
||||||
};
|
|
||||||
const getIntervalKey = (invalidationIntervalDays) => {
|
const getIntervalKey = (invalidationIntervalDays) => {
|
||||||
const now = new Date();
|
const now = new Date();
|
||||||
const secondsSinceEpoch = now.getTime() / 1000;
|
const secondsSinceEpoch = now.getTime() / 1000;
|
||||||
@@ -88878,7 +88859,7 @@ async function restoreCache() {
|
|||||||
}
|
}
|
||||||
core.saveState(constants_1.State.CachePrimaryKey, primaryKey);
|
core.saveState(constants_1.State.CachePrimaryKey, primaryKey);
|
||||||
try {
|
try {
|
||||||
const cacheKey = await cache.restoreCache(getCacheDirs(), primaryKey, restoreKeys);
|
const cacheKey = await cache.restoreCache([getLintCacheDir()], primaryKey, restoreKeys);
|
||||||
if (!cacheKey) {
|
if (!cacheKey) {
|
||||||
core.info(`Cache not found for input keys: ${[primaryKey, ...restoreKeys].join(", ")}`);
|
core.info(`Cache not found for input keys: ${[primaryKey, ...restoreKeys].join(", ")}`);
|
||||||
return;
|
return;
|
||||||
@@ -88900,13 +88881,15 @@ exports.restoreCache = restoreCache;
|
|||||||
async function saveCache() {
|
async function saveCache() {
|
||||||
if (core.getInput(`skip-cache`, { required: true }).trim() == "true")
|
if (core.getInput(`skip-cache`, { required: true }).trim() == "true")
|
||||||
return;
|
return;
|
||||||
|
if (core.getInput(`skip-save-cache`, { required: true }).trim() == "true")
|
||||||
|
return;
|
||||||
// Validate inputs, this can cause task failure
|
// Validate inputs, this can cause task failure
|
||||||
if (!utils.isValidEvent()) {
|
if (!utils.isValidEvent()) {
|
||||||
utils.logWarning(`Event Validation Error: The event type ${process.env[constants_1.Events.Key]} is not supported because it's not tied to a branch or tag ref.`);
|
utils.logWarning(`Event Validation Error: The event type ${process.env[constants_1.Events.Key]} is not supported because it's not tied to a branch or tag ref.`);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const startedAt = Date.now();
|
const startedAt = Date.now();
|
||||||
const cacheDirs = getCacheDirs();
|
const cacheDirs = [getLintCacheDir()];
|
||||||
const primaryKey = core.getState(constants_1.State.CachePrimaryKey);
|
const primaryKey = core.getState(constants_1.State.CachePrimaryKey);
|
||||||
if (!primaryKey) {
|
if (!primaryKey) {
|
||||||
utils.logWarning(`Error retrieving key from state.`);
|
utils.logWarning(`Error retrieving key from state.`);
|
||||||
@@ -89177,7 +89160,7 @@ async function fetchPatch() {
|
|||||||
return ``;
|
return ``;
|
||||||
}
|
}
|
||||||
const ctx = github.context;
|
const ctx = github.context;
|
||||||
if (ctx.eventName !== `pull_request`) {
|
if (ctx.eventName !== `pull_request` && ctx.eventName !== `pull_request_target`) {
|
||||||
core.info(`Not fetching patch for showing only new issues because it's not a pull request context: event name is ${ctx.eventName}`);
|
core.info(`Not fetching patch for showing only new issues because it's not a pull request context: event name is ${ctx.eventName}`);
|
||||||
return ``;
|
return ``;
|
||||||
}
|
}
|
||||||
|
|||||||
25
src/cache.ts
25
src/cache.ts
@@ -23,26 +23,6 @@ const getLintCacheDir = (): string => {
|
|||||||
return path.resolve(`${process.env.HOME}/.cache/golangci-lint`)
|
return path.resolve(`${process.env.HOME}/.cache/golangci-lint`)
|
||||||
}
|
}
|
||||||
|
|
||||||
const getCacheDirs = (): string[] => {
|
|
||||||
// Not existing dirs are ok here: it works.
|
|
||||||
const skipPkgCache = core.getInput(`skip-pkg-cache`, { required: true }).trim()
|
|
||||||
const skipBuildCache = core.getInput(`skip-build-cache`, { required: true }).trim()
|
|
||||||
const dirs = [getLintCacheDir()]
|
|
||||||
|
|
||||||
if (skipBuildCache.toLowerCase() == "true") {
|
|
||||||
core.info(`Omitting ~/.cache/go-build from cache directories`)
|
|
||||||
} else {
|
|
||||||
dirs.push(path.resolve(`${process.env.HOME}/.cache/go-build`))
|
|
||||||
}
|
|
||||||
if (skipPkgCache.toLowerCase() == "true") {
|
|
||||||
core.info(`Omitting ~/go/pkg from cache directories`)
|
|
||||||
} else {
|
|
||||||
dirs.push(path.resolve(`${process.env.HOME}/go/pkg`))
|
|
||||||
}
|
|
||||||
|
|
||||||
return dirs
|
|
||||||
}
|
|
||||||
|
|
||||||
const getIntervalKey = (invalidationIntervalDays: number): string => {
|
const getIntervalKey = (invalidationIntervalDays: number): string => {
|
||||||
const now = new Date()
|
const now = new Date()
|
||||||
const secondsSinceEpoch = now.getTime() / 1000
|
const secondsSinceEpoch = now.getTime() / 1000
|
||||||
@@ -97,7 +77,7 @@ export async function restoreCache(): Promise<void> {
|
|||||||
}
|
}
|
||||||
core.saveState(State.CachePrimaryKey, primaryKey)
|
core.saveState(State.CachePrimaryKey, primaryKey)
|
||||||
try {
|
try {
|
||||||
const cacheKey = await cache.restoreCache(getCacheDirs(), primaryKey, restoreKeys)
|
const cacheKey = await cache.restoreCache([getLintCacheDir()], primaryKey, restoreKeys)
|
||||||
if (!cacheKey) {
|
if (!cacheKey) {
|
||||||
core.info(`Cache not found for input keys: ${[primaryKey, ...restoreKeys].join(", ")}`)
|
core.info(`Cache not found for input keys: ${[primaryKey, ...restoreKeys].join(", ")}`)
|
||||||
return
|
return
|
||||||
@@ -116,6 +96,7 @@ export async function restoreCache(): Promise<void> {
|
|||||||
|
|
||||||
export async function saveCache(): Promise<void> {
|
export async function saveCache(): Promise<void> {
|
||||||
if (core.getInput(`skip-cache`, { required: true }).trim() == "true") return
|
if (core.getInput(`skip-cache`, { required: true }).trim() == "true") return
|
||||||
|
if (core.getInput(`skip-save-cache`, { required: true }).trim() == "true") return
|
||||||
|
|
||||||
// Validate inputs, this can cause task failure
|
// Validate inputs, this can cause task failure
|
||||||
if (!utils.isValidEvent()) {
|
if (!utils.isValidEvent()) {
|
||||||
@@ -127,7 +108,7 @@ export async function saveCache(): Promise<void> {
|
|||||||
|
|
||||||
const startedAt = Date.now()
|
const startedAt = Date.now()
|
||||||
|
|
||||||
const cacheDirs = getCacheDirs()
|
const cacheDirs = [getLintCacheDir()]
|
||||||
const primaryKey = core.getState(State.CachePrimaryKey)
|
const primaryKey = core.getState(State.CachePrimaryKey)
|
||||||
if (!primaryKey) {
|
if (!primaryKey) {
|
||||||
utils.logWarning(`Error retrieving key from state.`)
|
utils.logWarning(`Error retrieving key from state.`)
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ async function fetchPatch(): Promise<string> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const ctx = github.context
|
const ctx = github.context
|
||||||
if (ctx.eventName !== `pull_request`) {
|
if (ctx.eventName !== `pull_request` && ctx.eventName !== `pull_request_target`) {
|
||||||
core.info(`Not fetching patch for showing only new issues because it's not a pull request context: event name is ${ctx.eventName}`)
|
core.info(`Not fetching patch for showing only new issues because it's not a pull request context: event name is ${ctx.eventName}`)
|
||||||
return ``
|
return ``
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user