Compare commits

..
2 Commits
Author SHA1 Message Date
Benoit Daloze fb9d6fbc69 Automatically create a ~/.gemrc file
* To avoid generating documentation on `gem install`, which can take a long time.
2020-03-30 22:04:39 +02:00
Benoit Daloze 9c77d1b41f Prefer path.delimiter to the hardcoded value 2020-03-30 22:04:39 +02:00
4 changed files with 24 additions and 4 deletions
Generated Vendored
+12 -2
View File
@@ -976,6 +976,8 @@ async function run() {
const engineVersions = installer.getAvailableVersions(platform, engine)
const ruby = validateRubyEngineAndVersion(platform, engineVersions, engine, version)
createGemRC()
const [rubyPrefix, newPathEntries] = await installer.install(platform, ruby)
setupPath(ruby, newPathEntries)
@@ -1040,6 +1042,13 @@ function validateRubyEngineAndVersion(platform, engineVersions, engine, version)
return engine + '-' + version
}
function createGemRC() {
const gemrc = path.join(os.homedir(), '.gemrc')
if (!fs.existsSync(gemrc)) {
fs.writeFileSync(gemrc, `gem: --no-document${os.EOL}`)
}
}
function setupPath(ruby, newPathEntries) {
const originalPath = process.env['PATH'].split(path.delimiter)
let cleanPath = originalPath.filter(entry => !/\bruby\b/i.test(entry))
@@ -3415,7 +3424,7 @@ function getAvailableVersions(platform, engine) {
async function install(platform, ruby) {
const rubyPrefix = await downloadAndExtract(platform, ruby)
let newPathEntries;
let newPathEntries
if (ruby.startsWith('rubinius')) {
newPathEntries = [path.join(rubyPrefix, 'bin'), path.join(rubyPrefix, 'gems', 'bin')]
} else {
@@ -4801,6 +4810,7 @@ __webpack_require__.r(__webpack_exports__);
// https://github.com/MSP-Greg/actions-ruby/blob/master/lib/main.js
const fs = __webpack_require__(747)
const path = __webpack_require__(622)
const cp = __webpack_require__(129)
const core = __webpack_require__(470)
const exec = __webpack_require__(986)
@@ -4940,7 +4950,7 @@ function addVCVARSEnv() {
for (let [k, v] of newEnv) {
if (process.env[k] !== v) {
if (k === 'Path') {
newPathEntries = v.replace(process.env['Path'], '').split(';')
newPathEntries = v.replace(process.env['Path'], '').split(path.delimiter)
} else {
core.exportVariable(k, v)
}
+9
View File
@@ -18,6 +18,8 @@ export async function run() {
const engineVersions = installer.getAvailableVersions(platform, engine)
const ruby = validateRubyEngineAndVersion(platform, engineVersions, engine, version)
createGemRC()
const [rubyPrefix, newPathEntries] = await installer.install(platform, ruby)
setupPath(ruby, newPathEntries)
@@ -82,6 +84,13 @@ function validateRubyEngineAndVersion(platform, engineVersions, engine, version)
return engine + '-' + version
}
function createGemRC() {
const gemrc = path.join(os.homedir(), '.gemrc')
if (!fs.existsSync(gemrc)) {
fs.writeFileSync(gemrc, `gem: --no-document${os.EOL}`)
}
}
function setupPath(ruby, newPathEntries) {
const originalPath = process.env['PATH'].split(path.delimiter)
let cleanPath = originalPath.filter(entry => !/\bruby\b/i.test(entry))
+1 -1
View File
@@ -14,7 +14,7 @@ export function getAvailableVersions(platform, engine) {
export async function install(platform, ruby) {
const rubyPrefix = await downloadAndExtract(platform, ruby)
let newPathEntries;
let newPathEntries
if (ruby.startsWith('rubinius')) {
newPathEntries = [path.join(rubyPrefix, 'bin'), path.join(rubyPrefix, 'gems', 'bin')]
} else {
+2 -1
View File
@@ -2,6 +2,7 @@
// https://github.com/MSP-Greg/actions-ruby/blob/master/lib/main.js
const fs = require('fs')
const path = require('path')
const cp = require('child_process')
const core = require('@actions/core')
const exec = require('@actions/exec')
@@ -141,7 +142,7 @@ export function addVCVARSEnv() {
for (let [k, v] of newEnv) {
if (process.env[k] !== v) {
if (k === 'Path') {
newPathEntries = v.replace(process.env['Path'], '').split(';')
newPathEntries = v.replace(process.env['Path'], '').split(path.delimiter)
} else {
core.exportVariable(k, v)
}