Compare commits

..

6 Commits

Author SHA1 Message Date
2226d7cb06 6.5.0 2025-02-15 15:16:43 +01:00
8d744d5b7f feat: verify with the JSONSchema by default (#1171) 2025-02-15 15:02:58 +01:00
0e58f8e7ab build(deps): bump @octokit/endpoint from 9.0.5 to 9.0.6 (#1170)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2025-02-15 04:31:44 +01:00
6a3fb764d5 build(deps): bump @octokit/request-error from 5.1.0 to 5.1.1 (#1169)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2025-02-15 03:19:17 +01:00
696fa5c0e7 chore: clean workflows 2025-02-15 02:47:53 +01:00
80284ede25 chore: use ubuntu-22.04-arm
ubuntu-24.04-arm is too unstable
2025-02-14 22:19:04 +01:00
8 changed files with 128 additions and 60 deletions

View File

@ -3,12 +3,10 @@ name: "Code Scanning - Action"
on:
push:
branches:
- master
- main
pull_request:
# The branches below must be a subset of the branches above
branches:
- master
- main
schedule:
- cron: '0 17 * * 5'

View File

@ -2,13 +2,10 @@ name: "build-and-test"
on: # rebuild any PRs and main branch changes
pull_request:
branches:
- master
- main
push:
branches:
- master
- main
- "releases/*"
jobs:
build: # make sure build/ci work properly
@ -51,7 +48,7 @@ jobs:
matrix:
os:
- ubuntu-latest
- ubuntu-24.04-arm
- ubuntu-22.04-arm
- macos-latest
- windows-latest
version:
@ -73,7 +70,6 @@ jobs:
version: ${{ matrix.version }}
args: --timeout=5m --issues-exit-code=0 ./sample/...
only-new-issues: true
verify: true
test-go-install: # make sure the action works on a clean machine without building (go-install mode)
needs: [ build ]
@ -81,7 +77,7 @@ jobs:
matrix:
os:
- ubuntu-latest
- ubuntu-24.04-arm
- ubuntu-22.04-arm
- macos-latest
- windows-latest
version:
@ -104,7 +100,6 @@ jobs:
args: --timeout=5m --issues-exit-code=0 ./sample/...
only-new-issues: true
install-mode: goinstall
verify: true
test-go-mod:
needs: [ build ]
@ -112,7 +107,7 @@ jobs:
matrix:
os:
- ubuntu-latest
- ubuntu-24.04-arm
- ubuntu-22.04-arm
- macos-latest
- windows-latest
wd:
@ -130,4 +125,3 @@ jobs:
with:
working-directory: ${{ matrix.wd }}
args: --timeout=5m --issues-exit-code=0 ./...
verify: true

View File

@ -24,7 +24,7 @@ inputs:
required: false
verify:
description: "if set to true and the action verify the configuration file against the JSONSchema"
default: 'false'
default: 'true'
required: false
only-new-issues:
description: "if set to true and the action runs on a pull request - the action outputs only newly found issues"

51
dist/post_run/index.js generated vendored
View File

@ -42098,7 +42098,7 @@ module.exports = __toCommonJS(dist_src_exports);
var import_universal_user_agent = __nccwpck_require__(3843);
// pkg/dist-src/version.js
var VERSION = "9.0.5";
var VERSION = "9.0.6";
// pkg/dist-src/defaults.js
var userAgent = `octokit-endpoint.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}`;
@ -42203,9 +42203,9 @@ function addQueryParameters(url, parameters) {
}
// pkg/dist-src/util/extract-url-variable-names.js
var urlVariableRegex = /\{[^}]+\}/g;
var urlVariableRegex = /\{[^{}}]+\}/g;
function removeNonChars(variableName) {
return variableName.replace(/^\W+|\W+$/g, "").split(/,/);
return variableName.replace(/(?:^\W+)|(?:(?<!\W)\W+$)/g, "").split(/,/);
}
function extractUrlVariableNames(url) {
const matches = url.match(urlVariableRegex);
@ -42391,7 +42391,7 @@ function parse(options) {
}
if (url.endsWith("/graphql")) {
if (options.mediaType.previews?.length) {
const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || [];
const previewsFromAcceptHeader = headers.accept.match(/(?<![\w-])[\w-]+(?=-preview)/g) || [];
headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map((preview) => {
const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json";
return `application/vnd.github.${preview}-preview${format}`;
@ -45240,7 +45240,7 @@ var RequestError = class extends Error {
if (options.request.headers.authorization) {
requestCopy.headers = Object.assign({}, options.request.headers, {
authorization: options.request.headers.authorization.replace(
/ .*$/,
/(?<! ) .*$/,
" [REDACTED]"
)
});
@ -94123,15 +94123,7 @@ async function runLint(binPath, patchPath) {
}
cmdArgs.cwd = path.resolve(workingDirectory);
}
if (core.getBooleanInput(`verify`, { required: true })) {
let cmdVerify = `${binPath} config verify`;
if (userArgsMap.get("config")) {
cmdVerify += ` --config=${userArgsMap.get("config")}`;
}
core.info(`Running [${cmdVerify}] in [${cmdArgs.cwd || process.cwd()}] ...`);
const res = await execShellCommand(cmdVerify, cmdArgs);
printOutput(res);
}
await runVerify(binPath, userArgsMap, cmdArgs);
const cmd = `${binPath} run ${addedArgs.join(` `)} ${userArgs}`.trimEnd();
core.info(`Running [${cmd}] in [${cmdArgs.cwd || process.cwd()}] ...`);
const startedAt = Date.now();
@ -94153,6 +94145,37 @@ async function runLint(binPath, patchPath) {
}
core.info(`Ran golangci-lint in ${Date.now() - startedAt}ms`);
}
async function runVerify(binPath, userArgsMap, cmdArgs) {
const verify = core.getBooleanInput(`verify`, { required: true });
if (!verify) {
return;
}
const cfgPath = await getConfigPath(binPath, userArgsMap, cmdArgs);
if (!cfgPath) {
return;
}
let cmdVerify = `${binPath} config verify`;
if (userArgsMap.get("config")) {
cmdVerify += ` --config=${userArgsMap.get("config")}`;
}
core.info(`Running [${cmdVerify}] in [${cmdArgs.cwd || process.cwd()}] ...`);
const res = await execShellCommand(cmdVerify, cmdArgs);
printOutput(res);
}
async function getConfigPath(binPath, userArgsMap, cmdArgs) {
let cmdConfigPath = `${binPath} config path`;
if (userArgsMap.get("config")) {
cmdConfigPath += ` --config=${userArgsMap.get("config")}`;
}
core.info(`Running [${cmdConfigPath}] in [${cmdArgs.cwd || process.cwd()}] ...`);
try {
const resPath = await execShellCommand(cmdConfigPath, cmdArgs);
return resPath.stderr.trim();
}
catch {
return ``;
}
}
async function run() {
try {
const { binPath, patchPath } = await core.group(`prepare environment`, prepareEnv);

51
dist/run/index.js generated vendored
View File

@ -42098,7 +42098,7 @@ module.exports = __toCommonJS(dist_src_exports);
var import_universal_user_agent = __nccwpck_require__(3843);
// pkg/dist-src/version.js
var VERSION = "9.0.5";
var VERSION = "9.0.6";
// pkg/dist-src/defaults.js
var userAgent = `octokit-endpoint.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}`;
@ -42203,9 +42203,9 @@ function addQueryParameters(url, parameters) {
}
// pkg/dist-src/util/extract-url-variable-names.js
var urlVariableRegex = /\{[^}]+\}/g;
var urlVariableRegex = /\{[^{}}]+\}/g;
function removeNonChars(variableName) {
return variableName.replace(/^\W+|\W+$/g, "").split(/,/);
return variableName.replace(/(?:^\W+)|(?:(?<!\W)\W+$)/g, "").split(/,/);
}
function extractUrlVariableNames(url) {
const matches = url.match(urlVariableRegex);
@ -42391,7 +42391,7 @@ function parse(options) {
}
if (url.endsWith("/graphql")) {
if (options.mediaType.previews?.length) {
const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || [];
const previewsFromAcceptHeader = headers.accept.match(/(?<![\w-])[\w-]+(?=-preview)/g) || [];
headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map((preview) => {
const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json";
return `application/vnd.github.${preview}-preview${format}`;
@ -45240,7 +45240,7 @@ var RequestError = class extends Error {
if (options.request.headers.authorization) {
requestCopy.headers = Object.assign({}, options.request.headers, {
authorization: options.request.headers.authorization.replace(
/ .*$/,
/(?<! ) .*$/,
" [REDACTED]"
)
});
@ -94123,15 +94123,7 @@ async function runLint(binPath, patchPath) {
}
cmdArgs.cwd = path.resolve(workingDirectory);
}
if (core.getBooleanInput(`verify`, { required: true })) {
let cmdVerify = `${binPath} config verify`;
if (userArgsMap.get("config")) {
cmdVerify += ` --config=${userArgsMap.get("config")}`;
}
core.info(`Running [${cmdVerify}] in [${cmdArgs.cwd || process.cwd()}] ...`);
const res = await execShellCommand(cmdVerify, cmdArgs);
printOutput(res);
}
await runVerify(binPath, userArgsMap, cmdArgs);
const cmd = `${binPath} run ${addedArgs.join(` `)} ${userArgs}`.trimEnd();
core.info(`Running [${cmd}] in [${cmdArgs.cwd || process.cwd()}] ...`);
const startedAt = Date.now();
@ -94153,6 +94145,37 @@ async function runLint(binPath, patchPath) {
}
core.info(`Ran golangci-lint in ${Date.now() - startedAt}ms`);
}
async function runVerify(binPath, userArgsMap, cmdArgs) {
const verify = core.getBooleanInput(`verify`, { required: true });
if (!verify) {
return;
}
const cfgPath = await getConfigPath(binPath, userArgsMap, cmdArgs);
if (!cfgPath) {
return;
}
let cmdVerify = `${binPath} config verify`;
if (userArgsMap.get("config")) {
cmdVerify += ` --config=${userArgsMap.get("config")}`;
}
core.info(`Running [${cmdVerify}] in [${cmdArgs.cwd || process.cwd()}] ...`);
const res = await execShellCommand(cmdVerify, cmdArgs);
printOutput(res);
}
async function getConfigPath(binPath, userArgsMap, cmdArgs) {
let cmdConfigPath = `${binPath} config path`;
if (userArgsMap.get("config")) {
cmdConfigPath += ` --config=${userArgsMap.get("config")}`;
}
core.info(`Running [${cmdConfigPath}] in [${cmdArgs.cwd || process.cwd()}] ...`);
try {
const resPath = await execShellCommand(cmdConfigPath, cmdArgs);
return resPath.stderr.trim();
}
catch {
return ``;
}
}
async function run() {
try {
const { binPath, patchPath } = await core.group(`prepare environment`, prepareEnv);

18
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "golanci-lint-action",
"version": "6.4.1",
"version": "6.5.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "golanci-lint-action",
"version": "6.4.1",
"version": "6.5.0",
"license": "MIT",
"dependencies": {
"@actions/cache": "^4.0.0",
@ -485,9 +485,10 @@
}
},
"node_modules/@octokit/endpoint": {
"version": "9.0.5",
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.5.tgz",
"integrity": "sha512-ekqR4/+PCLkEBF6qgj8WqJfvDq65RH85OAgrtnVp1mSxaXF03u2xW/hUdweGS5654IlC0wkNYC18Z50tSYTAFw==",
"version": "9.0.6",
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.6.tgz",
"integrity": "sha512-H1fNTMA57HbkFESSt3Y9+FBICv+0jFceJFPWDePYlR/iMGrwM5ph+Dd4XRQs+8X+PUFURLQgX9ChPfhJ/1uNQw==",
"license": "MIT",
"dependencies": {
"@octokit/types": "^13.1.0",
"universal-user-agent": "^6.0.0"
@ -583,9 +584,10 @@
}
},
"node_modules/@octokit/request-error": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.0.tgz",
"integrity": "sha512-GETXfE05J0+7H2STzekpKObFe765O5dlAKUTLNGeH+x47z7JjXHfsHKo5z21D/o/IOZTUEI6nyWyR+bZVP/n5Q==",
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.1.tgz",
"integrity": "sha512-v9iyEQJH6ZntoENr9/yXxjuezh4My67CBSu9r6Ve/05Iu5gNgnisNWOsoJHTP6k0Rr0+HQIpnH+kyammu90q/g==",
"license": "MIT",
"dependencies": {
"@octokit/types": "^13.1.0",
"deprecation": "^2.0.0",

View File

@ -1,6 +1,6 @@
{
"name": "golanci-lint-action",
"version": "6.4.1",
"version": "6.5.0",
"private": true,
"description": "golangci-lint github action",
"main": "dist/main.js",

View File

@ -137,17 +137,7 @@ async function runLint(binPath: string, patchPath: string): Promise<void> {
cmdArgs.cwd = path.resolve(workingDirectory)
}
if (core.getBooleanInput(`verify`, { required: true })) {
let cmdVerify = `${binPath} config verify`
if (userArgsMap.get("config")) {
cmdVerify += ` --config=${userArgsMap.get("config")}`
}
core.info(`Running [${cmdVerify}] in [${cmdArgs.cwd || process.cwd()}] ...`)
const res = await execShellCommand(cmdVerify, cmdArgs)
printOutput(res)
}
await runVerify(binPath, userArgsMap, cmdArgs)
const cmd = `${binPath} run ${addedArgs.join(` `)} ${userArgs}`.trimEnd()
@ -173,6 +163,44 @@ async function runLint(binPath: string, patchPath: string): Promise<void> {
core.info(`Ran golangci-lint in ${Date.now() - startedAt}ms`)
}
async function runVerify(binPath: string, userArgsMap: Map<string, string>, cmdArgs: ExecOptions): Promise<void> {
const verify = core.getBooleanInput(`verify`, { required: true })
if (!verify) {
return
}
const cfgPath = await getConfigPath(binPath, userArgsMap, cmdArgs)
if (!cfgPath) {
return
}
let cmdVerify = `${binPath} config verify`
if (userArgsMap.get("config")) {
cmdVerify += ` --config=${userArgsMap.get("config")}`
}
core.info(`Running [${cmdVerify}] in [${cmdArgs.cwd || process.cwd()}] ...`)
const res = await execShellCommand(cmdVerify, cmdArgs)
printOutput(res)
}
async function getConfigPath(binPath: string, userArgsMap: Map<string, string>, cmdArgs: ExecOptions): Promise<string> {
let cmdConfigPath = `${binPath} config path`
if (userArgsMap.get("config")) {
cmdConfigPath += ` --config=${userArgsMap.get("config")}`
}
core.info(`Running [${cmdConfigPath}] in [${cmdArgs.cwd || process.cwd()}] ...`)
try {
const resPath = await execShellCommand(cmdConfigPath, cmdArgs)
return resPath.stderr.trim()
} catch {
return ``
}
}
export async function run(): Promise<void> {
try {
const { binPath, patchPath } = await core.group(`prepare environment`, prepareEnv)