Try something really dirty
This commit is contained in:
@@ -1,10 +1,9 @@
|
||||
"use strict";
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
|
@@ -1,10 +1,9 @@
|
||||
"use strict";
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
@@ -22,7 +21,9 @@ const toolCache = __importStar(require("@actions/tool-cache"));
|
||||
const path = __importStar(require("path"));
|
||||
const os = __importStar(require("os"));
|
||||
const fs_1 = require("fs");
|
||||
const util_1 = require("util");
|
||||
let tempDirectory = process.env['RUNNER_TEMPDIRECTORY'] || '';
|
||||
const renameAsync = util_1.promisify(fs_1.rename);
|
||||
function install() {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
// `rustup` is already installed on Linux and Windows platforms
|
||||
@@ -36,9 +37,38 @@ function install() {
|
||||
// to leverage newer features like "latest latest compatible nightly"
|
||||
yield exec.exec('rustup', ['self', 'update']);
|
||||
yield exec.exec('rustup', ['set', 'profile', 'minimal']);
|
||||
// Github's default Windows install comes with rustup pre-installed with stable, including
|
||||
// rust-docs. This removes the default stable install so that it doesn't update rust-docs.
|
||||
yield exec.exec('rustup', ['toolchain', 'uninstall', 'stable']);
|
||||
if (os.platform() == 'win32') {
|
||||
let rustDocsInstalled = false;
|
||||
{
|
||||
let installedComponents = '';
|
||||
const options = {
|
||||
listeners: {
|
||||
stdout: (data) => {
|
||||
installedComponents += data.toString();
|
||||
}
|
||||
}
|
||||
};
|
||||
yield exec.exec('rustup', ['component', 'list'], options);
|
||||
rustDocsInstalled = installedComponents.match(/rust-docs.+\(installed\)/) != null;
|
||||
}
|
||||
if (rustDocsInstalled) {
|
||||
let cargoPath = '';
|
||||
{
|
||||
const options = {
|
||||
listeners: {
|
||||
stdout: (data) => {
|
||||
cargoPath += data.toString();
|
||||
}
|
||||
}
|
||||
};
|
||||
yield exec.exec('where', ['rustup.exe'], options);
|
||||
}
|
||||
let rustupPath = cargoPath.split('\\').slice(0, -3).concat([".rustup"]).join("\\");
|
||||
// Github's default Windows install comes with rustup pre-installed with stable, including
|
||||
// rust-docs. This removes the default stable install so that it doesn't update rust-docs.
|
||||
yield renameAsync(`${rustupPath}\\toolchains`, `${rustupPath}\\_toolchains`);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
Reference in New Issue
Block a user