diff --git a/__tests__/core.test.ts b/__tests__/core.test.ts index d10e059..2901065 100644 --- a/__tests__/core.test.ts +++ b/__tests__/core.test.ts @@ -239,6 +239,16 @@ describe('@actions/core', () => { process.env['RUNNER_DEBUG'] = current } }) + + it('setCommandEcho can enable echoing', () => { + core.setCommandEcho(true) + assertWriteCalls([`::echo::on${os.EOL}`]) + }) + + it('setCommandEcho can disable echoing', () => { + core.setCommandEcho(false) + assertWriteCalls([`::echo::off${os.EOL}`]) + }) }) // Assert that process.stdout.write calls called only with the given arguments. diff --git a/src/core.ts b/src/core.ts index 85fc547..0cf9f04 100644 --- a/src/core.ts +++ b/src/core.ts @@ -87,6 +87,15 @@ export function setOutput(name: string, value: any): void { issueCommand('set-output', {name}, value) } +/** + * Enables or disables the echoing of commands into stdout for the rest of the step. + * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set. + * + */ +export function setCommandEcho(enabled: boolean): void { + issue('echo', enabled ? 'on' : 'off') +} + //----------------------------------------------------------------------- // Results //-----------------------------------------------------------------------