diff --git a/action.yml b/action.yml index 715f48d..cc96abe 100644 --- a/action.yml +++ b/action.yml @@ -9,22 +9,22 @@ branding: # Define your inputs here. inputs: + ossutil-version: + description: 'The OSSUTIL version to download and use, or "latest" for the latest version.' + required: true + default: '1.7.14' endpoint: description: 'The endpoint of your bucket' - required: true + required: false access-key-id: description: 'The AccessKey ID of the credentials' - required: true + required: false access-key-secret: description: 'The AccessKey Secret of the credentials' - required: true + required: false sts-token: description: 'The STS Token of the credentials' required: false - ossutil-version: - description: 'The OSSUTIL version to download and use, or "latest" for the latest version.' - required: false - default: '1.7.14' github-token: description: 'The GitHub token used to call API to fetch the latest version info' required: false diff --git a/dist/index.js b/dist/index.js index 8cb095b..76d2147 100644 --- a/dist/index.js +++ b/dist/index.js @@ -32940,32 +32940,8 @@ const installer = __importStar(__nccwpck_require__(2574)); */ async function run() { try { - // download - const version = core.getInput('ossutil-version'); - await installer.installOssutil(version); - core.info('ossutil is successfully installed'); - // config - const inputOptions = { required: true }; - const endpoint = core.getInput('endpoint', inputOptions); - const accessKeyId = core.getInput('access-key-id', inputOptions); - const accessKeySecret = core.getInput('access-key-secret', inputOptions); - const stsToken = core.getInput('sts-token'); - const args = [ - 'config', - '--endpoint', - endpoint, - '--access-key-id', - accessKeyId, - '--access-key-secret', - accessKeySecret - ]; - if (stsToken) { - args.push('--sts-token', stsToken); - } - const exitCode = await exec.exec('ossutil', args); - if (exitCode === 0) { - core.info('ossutil config is done'); - } + install(); + config(); } catch (error) { // Fail the workflow run if an error occurs @@ -32974,6 +32950,40 @@ async function run() { } } exports.run = run; +async function install() { + const version = core.getInput('ossutil-version', { required: true }); + await installer.installOssutil(version); + core.info('ossutil is successfully installed'); +} +async function config() { + const endpoint = core.getInput('endpoint'); + if (endpoint.length == 0) { + core.info('ossutil config is skipped'); + return; + } + const accessKeyId = core.getInput('access-key-id', { required: true }); + const accessKeySecret = core.getInput('access-key-secret', { required: true }); + const args = [ + 'config', + '--endpoint', + endpoint, + '--access-key-id', + accessKeyId, + '--access-key-secret', + accessKeySecret + ]; + const stsToken = core.getInput('sts-token'); + if (stsToken) { + args.push('--sts-token', stsToken); + } + const exitCode = await exec.exec('ossutil', args); + if (exitCode === 0) { + core.info('ossutil config is done'); + } + else { + core.error('ossutil config is failed with exit code: ' + exitCode); + } +} /***/ }), diff --git a/src/main.ts b/src/main.ts index 93f433c..3fa1ec1 100644 --- a/src/main.ts +++ b/src/main.ts @@ -8,35 +8,47 @@ import * as installer from './installer' */ export async function run(): Promise { try { - // download - const version = core.getInput('ossutil-version') - await installer.installOssutil(version) - core.info('ossutil is successfully installed') - - // config - const inputOptions: core.InputOptions = { required: true } - const endpoint = core.getInput('endpoint', inputOptions) - const accessKeyId = core.getInput('access-key-id', inputOptions) - const accessKeySecret = core.getInput('access-key-secret', inputOptions) - const stsToken = core.getInput('sts-token') - const args = [ - 'config', - '--endpoint', - endpoint, - '--access-key-id', - accessKeyId, - '--access-key-secret', - accessKeySecret - ] - if (stsToken) { - args.push('--sts-token', stsToken) - } - const exitCode = await exec.exec('ossutil', args) - if (exitCode === 0) { - core.info('ossutil config is done') - } + install() + config() } catch (error) { // Fail the workflow run if an error occurs if (error instanceof Error) core.setFailed(error.message) } } + +async function install(): Promise { + const version = core.getInput('ossutil-version', { required: true }) + await installer.installOssutil(version) + core.info('ossutil is successfully installed') +} + +async function config(): Promise { + const endpoint = core.getInput('endpoint') + if (endpoint.length === 0) { + core.info('ossutil config is skipped') + return + } + + const accessKeyId = core.getInput('access-key-id', { required: true }) + const accessKeySecret = core.getInput('access-key-secret', { required: true }) + const args = [ + 'config', + '--endpoint', + endpoint, + '--access-key-id', + accessKeyId, + '--access-key-secret', + accessKeySecret + ] + const stsToken = core.getInput('sts-token') + if (stsToken) { + args.push('--sts-token', stsToken) + } + + const exitCode = await exec.exec('ossutil', args) + if (exitCode === 0) { + core.info('ossutil config is done') + } else { + core.error(`ossutil config is failed with exit code: ${exitCode}`) + } +}