diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 52407a5b9b..e3545a7755 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -70,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 ] @@ -101,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 ] @@ -127,4 +125,3 @@ jobs: with: working-directory: ${{ matrix.wd }} args: --timeout=5m --issues-exit-code=0 ./... - verify: true diff --git a/action.yml b/action.yml index 5e8e8e3be1..1db3570795 100644 --- a/action.yml +++ b/action.yml @@ -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" diff --git a/dist/post_run/index.js b/dist/post_run/index.js index ab3abd3e72..ae8fda3b17 100644 --- a/dist/post_run/index.js +++ b/dist/post_run/index.js @@ -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); diff --git a/dist/run/index.js b/dist/run/index.js index 1cd6762df6..49ceaa8fbc 100644 --- a/dist/run/index.js +++ b/dist/run/index.js @@ -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); diff --git a/src/run.ts b/src/run.ts index 19683f9a57..55864df795 100644 --- a/src/run.ts +++ b/src/run.ts @@ -137,17 +137,7 @@ async function runLint(binPath: string, patchPath: string): Promise { 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 { core.info(`Ran golangci-lint in ${Date.now() - startedAt}ms`) } +async function runVerify(binPath: string, userArgsMap: Map, cmdArgs: ExecOptions): Promise { + 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, cmdArgs: ExecOptions): Promise { + 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 { try { const { binPath, patchPath } = await core.group(`prepare environment`, prepareEnv)