support install without config

This commit is contained in:
Rimo
2024-01-26 14:27:47 +00:00
parent 59fe15c39c
commit fdb656e148
3 changed files with 82 additions and 60 deletions

View File

@@ -8,35 +8,47 @@ import * as installer from './installer'
*/
export async function run(): Promise<void> {
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<void> {
const version = core.getInput('ossutil-version', { required: true })
await installer.installOssutil(version)
core.info('ossutil is successfully installed')
}
async function config(): Promise<void> {
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}`)
}
}