Use built-in getExecOutput
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
parent
aa087459ac
commit
c47ad32952
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
34
src/exec.ts
34
src/exec.ts
|
@ -1,34 +0,0 @@
|
|||
import * as actionsExec from '@actions/exec';
|
||||
import {ExecOptions} from '@actions/exec';
|
||||
|
||||
export interface ExecResult {
|
||||
success: boolean;
|
||||
stdout: string;
|
||||
stderr: string;
|
||||
}
|
||||
|
||||
export const exec = async (command: string, args: string[] = [], silent: boolean): Promise<ExecResult> => {
|
||||
let stdout = '';
|
||||
let stderr = '';
|
||||
|
||||
const options: ExecOptions = {
|
||||
silent: silent,
|
||||
ignoreReturnCode: true
|
||||
};
|
||||
options.listeners = {
|
||||
stdout: (data: Buffer) => {
|
||||
stdout += data.toString();
|
||||
},
|
||||
stderr: (data: Buffer) => {
|
||||
stderr += data.toString();
|
||||
}
|
||||
};
|
||||
|
||||
const returnCode: number = await actionsExec.exec(command, args, options);
|
||||
|
||||
return {
|
||||
success: returnCode === 0,
|
||||
stdout: stdout.trim(),
|
||||
stderr: stderr.trim()
|
||||
};
|
||||
};
|
12
src/main.ts
12
src/main.ts
|
@ -1,4 +1,3 @@
|
|||
import * as mexec from './exec';
|
||||
import * as core from '@actions/core';
|
||||
import * as exec from '@actions/exec';
|
||||
import {issueCommand} from '@actions/core/lib/command';
|
||||
|
@ -31,9 +30,14 @@ async function run(): Promise<void> {
|
|||
core.endGroup();
|
||||
|
||||
core.startGroup(`Extracting available platforms`);
|
||||
await mexec.exec(`docker`, ['run', '--rm', '--privileged', image], true).then(res => {
|
||||
if (res.stderr != '' && !res.success) {
|
||||
throw new Error(res.stderr);
|
||||
await exec
|
||||
.getExecOutput('docker', ['run', '--rm', '--privileged', image], {
|
||||
ignoreReturnCode: true,
|
||||
silent: true
|
||||
})
|
||||
.then(res => {
|
||||
if (res.stderr.length > 0 && res.exitCode != 0) {
|
||||
throw new Error(res.stderr.trim());
|
||||
}
|
||||
const platforms: Platforms = JSON.parse(res.stdout.trim());
|
||||
core.info(`${platforms.supported.join(',')}`);
|
||||
|
|
Loading…
Reference in New Issue