mirror of
https://github.com/ruby/setup-ruby.git
synced 2026-09-13 22:44:20 +02:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fb9d6fbc69 | ||
|
|
9c77d1b41f |
+12
-2
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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
@@ -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
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user