Explicitly check workingDirectory presence

This commit is contained in:
Stephanie Wilde-Hobbs 2020-05-21 11:41:43 +01:00
parent b2c945497a
commit b577819d42
No known key found for this signature in database
GPG key ID: CEF2BBFE18BD0E67
3 changed files with 29 additions and 16 deletions

View file

@ -2398,15 +2398,19 @@ function runLint(lintPath) {
if (args.includes(`-out-format`)) {
throw new Error(`please, don't change out-format for golangci-lint: it can be broken in a future`);
}
const workingDirectory = path.resolve(core.getInput(`working-directory`));
if (!fs.existsSync(workingDirectory) || !fs.lstatSync(workingDirectory).isDirectory()) {
throw new Error(`working-directory (${workingDirectory}) was not a path`);
const workingDirectory = core.getInput(`working-directory`);
const cmdArgs = {};
if (workingDirectory != ``) {
if (!fs.existsSync(workingDirectory) || !fs.lstatSync(workingDirectory).isDirectory()) {
throw new Error(`working-directory (${workingDirectory}) was not a path`);
}
cmdArgs.cwd = path.resolve(workingDirectory);
}
const cmd = `${lintPath} run --out-format=github-actions ${args}`.trimRight();
core.info(`Running [${cmd}] in [${workingDirectory}] ...`);
core.info(`Running [${cmd}] in [${cmdArgs.cwd}] ...`);
const startedAt = Date.now();
try {
const res = yield execShellCommand(cmd, { cwd: workingDirectory });
const res = yield execShellCommand(cmd, cmdArgs);
printOutput(res);
core.info(`golangci-lint found no issues`);
}

14
dist/run/index.js vendored
View file

@ -2410,15 +2410,19 @@ function runLint(lintPath) {
if (args.includes(`-out-format`)) {
throw new Error(`please, don't change out-format for golangci-lint: it can be broken in a future`);
}
const workingDirectory = path.resolve(core.getInput(`working-directory`));
if (!fs.existsSync(workingDirectory) || !fs.lstatSync(workingDirectory).isDirectory()) {
throw new Error(`working-directory (${workingDirectory}) was not a path`);
const workingDirectory = core.getInput(`working-directory`);
const cmdArgs = {};
if (workingDirectory != ``) {
if (!fs.existsSync(workingDirectory) || !fs.lstatSync(workingDirectory).isDirectory()) {
throw new Error(`working-directory (${workingDirectory}) was not a path`);
}
cmdArgs.cwd = path.resolve(workingDirectory);
}
const cmd = `${lintPath} run --out-format=github-actions ${args}`.trimRight();
core.info(`Running [${cmd}] in [${workingDirectory}] ...`);
core.info(`Running [${cmd}] in [${cmdArgs.cwd}] ...`);
const startedAt = Date.now();
try {
const res = yield execShellCommand(cmd, { cwd: workingDirectory });
const res = yield execShellCommand(cmd, cmdArgs);
printOutput(res);
core.info(`golangci-lint found no issues`);
}

View file

@ -1,5 +1,5 @@
import * as core from "@actions/core"
import { exec } from "child_process"
import { exec, ExecOptions } from "child_process"
import * as fs from "fs"
import * as path from "path"
import { promisify } from "util"
@ -57,16 +57,21 @@ async function runLint(lintPath: string): Promise<void> {
throw new Error(`please, don't change out-format for golangci-lint: it can be broken in a future`)
}
const workingDirectory = path.resolve(core.getInput(`working-directory`))
if (!fs.existsSync(workingDirectory) || !fs.lstatSync(workingDirectory).isDirectory()) {
throw new Error(`working-directory (${workingDirectory}) was not a path`)
const workingDirectory = core.getInput(`working-directory`)
const cmdArgs: ExecOptions = {}
if (workingDirectory != ``) {
if (!fs.existsSync(workingDirectory) || !fs.lstatSync(workingDirectory).isDirectory()) {
throw new Error(`working-directory (${workingDirectory}) was not a path`)
}
cmdArgs.cwd = path.resolve(workingDirectory)
}
const cmd = `${lintPath} run --out-format=github-actions ${args}`.trimRight()
core.info(`Running [${cmd}] in [${workingDirectory}] ...`)
core.info(`Running [${cmd}] in [${cmdArgs.cwd}] ...`)
const startedAt = Date.now()
try {
const res = await execShellCommand(cmd, { cwd: workingDirectory })
const res = await execShellCommand(cmd, cmdArgs)
printOutput(res)
core.info(`golangci-lint found no issues`)
} catch (exc) {