import * as core from '@actions/core' import {Inputs, NoFileOptions} from './constants' import {UploadInputs} from './upload-inputs' /** * Helper to get all the inputs for the action */ export function getInputs(): UploadInputs { const name = core.getInput(Inputs.Name) const path = core.getInput(Inputs.Path, {required: true}) const ifNoFilesFound = core.getInput(Inputs.IfNoFilesFound) const noFileBehavior: NoFileOptions = NoFileOptions[ifNoFilesFound] const single = core.getInput(Inputs.SingleArchive) || 'true' if (!noFileBehavior) { core.setFailed( `Unrecognized ${ Inputs.IfNoFilesFound } input. Provided: ${ifNoFilesFound}. Available options: ${Object.keys( NoFileOptions )}` ) } if (single !== 'true' && single !== 'false') { core.setFailed( `Unrecognized ${Inputs.SingleArchive} input. Provided: ${single}. Must be 'true' or 'false'.` ) } const inputs = { artifactName: name, searchPath: path, singleArchive: single, ifNoFilesFound: noFileBehavior } as UploadInputs const retentionDaysStr = core.getInput(Inputs.RetentionDays) if (retentionDaysStr) { inputs.retentionDays = parseInt(retentionDaysStr) if (isNaN(inputs.retentionDays)) { core.setFailed('Invalid retention-days') } } return inputs }