diff --git a/packages/core/__tests__/lib.test.ts b/packages/core/__tests__/lib.test.ts index 49f42062..ad8e083d 100644 --- a/packages/core/__tests__/lib.test.ts +++ b/packages/core/__tests__/lib.test.ts @@ -114,6 +114,11 @@ describe('@actions/core', () => { expect(core.getInput('special chars_\'\t"\\')).toBe('\'\t"\\ repsonse') }) + it('setOutput produces the correct command', () => { + core.setOutput('some output', 'some value') + assertWriteCalls([`##[set-output name=some output;]some value${os.EOL}`]) + }) + it('setNeutral sets the correct exit code', () => { core.setFailed('Failure message') expect(process.exitCode).toBe(ExitCode.Failure) diff --git a/packages/core/src/core.ts b/packages/core/src/core.ts index 7e3d7e0d..ec98624e 100644 --- a/packages/core/src/core.ts +++ b/packages/core/src/core.ts @@ -61,6 +61,16 @@ export function getInput(name: string, options?: InputOptions): string { return val.trim() } +/** + * Sets the value of an output. + * + * @param name name of the output to set + * @param value value to store + */ +export function setOutput(name: string, value: string): void { + issueCommand('set-output', {name}, value) +} + //----------------------------------------------------------------------- // Results //-----------------------------------------------------------------------