Merge pull request #9 from hecrj/use-toolchain-install

Use toolchain install instead of multiple commands
This commit is contained in:
Héctor Ramón 2019-10-27 20:06:30 +01:00 committed by GitHub
commit ffd46aa513
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 24 additions and 17 deletions

View File

@ -32,14 +32,11 @@ function run() {
.filter((target) => target.length > 0); .filter((target) => target.length > 0);
if (version) { if (version) {
yield rustup.install(); yield rustup.install();
yield exec.exec('rustup', ['toolchain', 'install', version,
...(components.length > 0 ? ['-c', ...components] : []),
...(targets.length > 0 ? ['-t', ...targets] : []),
]);
yield exec.exec('rustup', ['default', version]); yield exec.exec('rustup', ['default', version]);
yield exec.exec('rustup', ['update', version]);
for (let component of components) {
yield exec.exec('rustup', ['component', 'add', component]);
}
for (let target of targets) {
yield exec.exec('rustup', ['target', 'add', target]);
}
} }
} }
catch (error) { catch (error) {

View File

@ -30,6 +30,12 @@ function install() {
core.debug('rustup is located under: ' + toolPath); core.debug('rustup is located under: ' + toolPath);
core.addPath(path.join(toolPath, 'bin')); core.addPath(path.join(toolPath, 'bin'));
} }
else {
// Update the GitHub managed VM version of rustup
// to leverage newer features like "latest latest compatible nightly"
yield exec.exec('rustup', ['self', 'update']);
yield exec.exec('rustup', ['set', 'profile', 'minimal']);
}
}); });
} }
exports.install = install; exports.install = install;

View File

@ -6,10 +6,12 @@ import * as os from 'os';
async function run() { async function run() {
try { try {
const version = core.getInput('rust-version'); const version = core.getInput('rust-version');
const components = core.getInput('components') const components = core.getInput('components')
.split(',') .split(',')
.map((component) => component.trim()) .map((component) => component.trim())
.filter((component) => component.length > 0); .filter((component) => component.length > 0);
const targets = core.getInput('targets') const targets = core.getInput('targets')
.split(',') .split(',')
.map((target) => target.trim()) .map((target) => target.trim())
@ -17,16 +19,16 @@ async function run() {
if(version) { if(version) {
await rustup.install(); 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]); await exec.exec('rustup', ['default', version]);
await exec.exec('rustup', ['update', version]);
for(let component of components) {
await exec.exec('rustup', ['component', 'add', component]);
}
for(let target of targets) {
await exec.exec('rustup', ['target', 'add', target]);
}
} }
} catch (error) { } catch (error) {
core.setFailed(error.message); core.setFailed(error.message);

View File

@ -15,9 +15,11 @@ export async function install() {
core.debug('rustup is located under: ' + toolPath); core.debug('rustup is located under: ' + toolPath);
core.addPath(path.join(toolPath, 'bin')); core.addPath(path.join(toolPath, 'bin'));
} else { } else {
// update the GitHub managed VM version of rustup // Update the GitHub managed VM version of rustup
// to leverage newer features like "latest latest compatible nightly" // to leverage newer features like "latest latest compatible nightly"
await exec.exec('rustup', ['self', 'update']); await exec.exec('rustup', ['self', 'update']);
await exec.exec('rustup', ['set', 'profile', 'minimal']);
} }
} }