setup-rust-action/src/main.ts
2019-10-27 19:40:00 +01:00

39 lines
948 B
TypeScript

import * as core from '@actions/core';
import * as exec from '@actions/exec';
import * as rustup from './rustup';
import * as os from 'os';
async function run() {
try {
const version = core.getInput('rust-version');
const components = core.getInput('components')
.split(',')
.map((component) => component.trim())
.filter((component) => component.length > 0);
const targets = core.getInput('targets')
.split(',')
.map((target) => target.trim())
.filter((target) => target.length > 0);
if(version) {
await rustup.install();
await exec.exec(
'rustup',
['toolchain', 'install', version,
...(components.length > 0 ? ['-c', ...components] : []),
...(targets.length > 0 ? ['-t', ...targets] : []),
]
);
await exec.exec('rustup', ['default', version]);
}
} catch (error) {
core.setFailed(error.message);
}
}
run();