From 00e2fc8809369f21756a752aa1a6938d4ac139cc Mon Sep 17 00:00:00 2001 From: Brooks Swinnerton Date: Sat, 31 Jul 2021 12:13:50 -0400 Subject: [PATCH] Capture output of stdout and stderr to Actions (#30) * Capture output of stdout and stderr to Actions * Remove type descriptors Whoops! This isn't typescript * Remove semicolons * Rename cmd to args * Separate command from arguments to exec * Revert "Rename cmd to args" This reverts commit 98591e551340181dbc3f5e6943d53ad453bc3832. * Append stdout and stderr to string, then log * Consolidate stdout and stderr into single output * Move base command back to cmd variable * Embed execOptions as parameter to exec --- action.yml | 3 +++ main.js | 13 ++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/action.yml b/action.yml index c35442d..d30ddbf 100644 --- a/action.yml +++ b/action.yml @@ -31,6 +31,9 @@ inputs: sudo: description: Set to "true" if root is required for running your playbook required: false +outputs: + output: + description: The captured output of both stdout and stderr from the Ansible Playbook run runs: using: node12 main: main.js diff --git a/main.js b/main.js index 81e200b..055fc18 100644 --- a/main.js +++ b/main.js @@ -81,7 +81,18 @@ async function main() { process.env.ANSIBLE_FORCE_COLOR = "True" - await exec.exec(cmd.join(' ')) + let output = "" + await exec.exec(cmd.join(' '), null, { + listeners: { + stdout: function(data) { + output += data.toString() + }, + stderr: function(data) { + output += data.toString() + } + } + }) + core.setOutput("output", output) } catch (error) { core.setFailed(error.message) }