45 lines
921 B
TypeScript
45 lines
921 B
TypeScript
import * as core from '@actions/core'
|
|
|
|
export type Input =
|
|
| 'add'
|
|
| 'author_name'
|
|
| 'author_email'
|
|
| 'branch'
|
|
| 'cwd'
|
|
| 'message'
|
|
| 'pull_strategy'
|
|
| 'push'
|
|
| 'remove'
|
|
| 'signoff'
|
|
| 'tag'
|
|
|
|
export const outputs = {
|
|
committed: 'false',
|
|
pushed: 'false',
|
|
tagged: 'false'
|
|
}
|
|
export type Output = keyof typeof outputs
|
|
|
|
export function getInput(name: Input) {
|
|
return core.getInput(name)
|
|
}
|
|
|
|
export function log(err: any | Error, data?: any) {
|
|
if (data) console.log(data)
|
|
if (err) core.error(err)
|
|
}
|
|
|
|
export function parseBool(value: any) {
|
|
try {
|
|
const parsed = JSON.parse(value)
|
|
if (typeof parsed == 'boolean') return parsed
|
|
} catch {}
|
|
}
|
|
|
|
export function setOutput(name: Output, value: 'true' | 'false') {
|
|
core.debug(`Setting output: ${name}=${value}`)
|
|
outputs[name] = value
|
|
return core.setOutput(name, value)
|
|
}
|
|
for (const key in outputs) setOutput(key as Output, outputs[key])
|