Make ossutil executable

This commit is contained in:
Rimo
2020-01-15 17:27:30 +08:00
parent e0feee7e7c
commit b99d85a130
4 changed files with 23 additions and 7 deletions

View File

@@ -12,16 +12,18 @@ import * as installer from '../src/installer'
const FILE_NAME = process.platform === 'win32' ? 'ossutil.exe' : 'ossutil' const FILE_NAME = process.platform === 'win32' ? 'ossutil.exe' : 'ossutil'
jest.setTimeout(60000)
describe('installer tests', () => { describe('installer tests', () => {
beforeAll(async () => { beforeAll(async () => {
await io.rmRF(TOOL_DIR) await io.rmRF(TOOL_DIR)
await io.rmRF(TEMP_DIR) await io.rmRF(TEMP_DIR)
}, 60000) })
afterAll(async () => { afterAll(async () => {
await io.rmRF(TOOL_DIR) await io.rmRF(TOOL_DIR)
await io.rmRF(TEMP_DIR) await io.rmRF(TEMP_DIR)
}, 60000) })
it('install ossutil 1.6.10', async () => { it('install ossutil 1.6.10', async () => {
const version = '1.6.10' const version = '1.6.10'
@@ -32,7 +34,9 @@ describe('installer tests', () => {
const exist = fs.existsSync(path.join(ossutilDir, FILE_NAME)) const exist = fs.existsSync(path.join(ossutilDir, FILE_NAME))
expect(exist).toBe(true) expect(exist).toBe(true)
}, 60000)
expect(await io.which('ossutil', true)).toBeTruthy()
})
it('throw if wrong version', async () => { it('throw if wrong version', async () => {
let thrown = false let thrown = false

10
dist/index.js vendored
View File

@@ -4013,6 +4013,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
const core = __importStar(__webpack_require__(470)); const core = __importStar(__webpack_require__(470));
const tc = __importStar(__webpack_require__(533)); const tc = __importStar(__webpack_require__(533));
const path = __importStar(__webpack_require__(622)); const path = __importStar(__webpack_require__(622));
const fs = __importStar(__webpack_require__(747));
const TOOL_NAME = 'ossutil'; const TOOL_NAME = 'ossutil';
/** /**
* Get ossutil ready for use * Get ossutil ready for use
@@ -4025,7 +4026,7 @@ function getOssutil(version) {
// download, extract, cache // download, extract, cache
toolPath = yield acquireOssutil(version); toolPath = yield acquireOssutil(version);
} }
core.info(`ossutil is cached under ${toolPath}`); core.debug(`ossutil is cached under ${toolPath}`);
core.addPath(toolPath); core.addPath(toolPath);
}); });
} }
@@ -4056,6 +4057,7 @@ function acquireOssutil(version) {
toolFile = path.join(extractFolder, 'ossutil64', 'ossutil64.exe'); toolFile = path.join(extractFolder, 'ossutil64', 'ossutil64.exe');
core.debug(`ossutil extracted to: ${toolFile}`); core.debug(`ossutil extracted to: ${toolFile}`);
} }
fs.chmodSync(toolFile, 0o755);
// cache // cache
const fileName = process.platform === 'win32' ? 'ossutil.exe' : 'ossutil'; const fileName = process.platform === 'win32' ? 'ossutil.exe' : 'ossutil';
const toolPath = yield tc.cacheFile(toolFile, fileName, TOOL_NAME, version); const toolPath = yield tc.cacheFile(toolFile, fileName, TOOL_NAME, version);
@@ -4163,6 +4165,7 @@ function run() {
// download // download
const version = core.getInput('ossutil-version'); const version = core.getInput('ossutil-version');
yield installer.getOssutil(version); yield installer.getOssutil(version);
core.info('ossutil is successfully installed');
// config // config
const endpoint = core.getInput('endpoint'); const endpoint = core.getInput('endpoint');
const accessKeyId = core.getInput('access-key-id'); const accessKeyId = core.getInput('access-key-id');
@@ -4178,7 +4181,10 @@ function run() {
'--sts-token', '--sts-token',
stsToken stsToken
]; ];
yield exec.exec('ossutil', args); const exitCode = yield exec.exec('ossutil', args);
if (exitCode === 0) {
core.info('ossutil config is done');
}
} }
catch (error) { catch (error) {
core.setFailed(error.message); core.setFailed(error.message);

View File

@@ -1,6 +1,7 @@
import * as core from '@actions/core' import * as core from '@actions/core'
import * as tc from '@actions/tool-cache' import * as tc from '@actions/tool-cache'
import * as path from 'path' import * as path from 'path'
import * as fs from 'fs'
const TOOL_NAME = 'ossutil' const TOOL_NAME = 'ossutil'
@@ -15,7 +16,7 @@ export async function getOssutil(version: string): Promise<void> {
toolPath = await acquireOssutil(version) toolPath = await acquireOssutil(version)
} }
core.info(`ossutil is cached under ${toolPath}`) core.debug(`ossutil is cached under ${toolPath}`)
core.addPath(toolPath) core.addPath(toolPath)
} }
@@ -44,6 +45,7 @@ async function acquireOssutil(version: string): Promise<string> {
toolFile = path.join(extractFolder, 'ossutil64', 'ossutil64.exe') toolFile = path.join(extractFolder, 'ossutil64', 'ossutil64.exe')
core.debug(`ossutil extracted to: ${toolFile}`) core.debug(`ossutil extracted to: ${toolFile}`)
} }
fs.chmodSync(toolFile, 0o755)
// cache // cache
const fileName = process.platform === 'win32' ? 'ossutil.exe' : 'ossutil' const fileName = process.platform === 'win32' ? 'ossutil.exe' : 'ossutil'

View File

@@ -7,6 +7,7 @@ async function run(): Promise<void> {
// download // download
const version = core.getInput('ossutil-version') const version = core.getInput('ossutil-version')
await installer.getOssutil(version) await installer.getOssutil(version)
core.info('ossutil is successfully installed')
// config // config
const endpoint = core.getInput('endpoint') const endpoint = core.getInput('endpoint')
@@ -23,7 +24,10 @@ async function run(): Promise<void> {
'--sts-token', '--sts-token',
stsToken stsToken
] ]
await exec.exec('ossutil', args) const exitCode = await exec.exec('ossutil', args)
if (exitCode === 0) {
core.info('ossutil config is done')
}
} catch (error) { } catch (error) {
core.setFailed(error.message) core.setFailed(error.message)
} }