Skip to content

Commit 4f6a230

Browse files
committed
Use 7z for old devkit packages
1 parent 2ba963f commit 4f6a230

File tree

2 files changed

+30
-24
lines changed

2 files changed

+30
-24
lines changed

dist/index.js

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -460,23 +460,17 @@ const core = __webpack_require__(276)
460460

461461
const { download, execSync, getInput } = __webpack_require__(498)
462462

463-
/* setting to string uses specified release asset for MSYS2,
464-
* setting to null uses pre-installed MSYS2
465-
* release contains all Ruby building dependencies,
466-
* used when MSYS2 install or server have problems
467-
*/
468-
const RELEASE_ASSET = fs.lstatSync('C:\\msys64').isSymbolicLink() ?
469-
'msys2-2020-03-20' : null
470-
471463
// SSD drive, used for most downloads
472464
const drive = (process.env['GITHUB_WORKSPACE'] || 'C')[0]
473465

474466
const tar = 'C:\\msys64\\usr\\bin\\tar.exe'
475467
const msys2UsrBin = 'C:\\msys64\\usr\\bin'
476468

477469
// below are for setup of old Ruby DevKit
478-
const dirDK = `${drive}:\\DevKit64`
479-
const dirDKTar = `/${drive}/DevKit64/mingw/x86_64-w64-mingw32`
470+
const dirDK = `C:\\DevKit64`
471+
const dirDKTar = `/c/DevKit64/mingw/x86_64-w64-mingw32`
472+
473+
const dirDK7z = `C:\\DevKit64\\mingw\\x86_64-w64-mingw32`
480474

481475
const dlPath = `${process.env.RUNNER_TEMP}\\srp`
482476
if (!fs.existsSync(dlPath)) {
@@ -485,6 +479,7 @@ if (!fs.existsSync(dlPath)) {
485479

486480
let ruby
487481
let old_pkgs
482+
let RELEASE_ASSET
488483

489484
// clean inputs
490485
let mingw = getInput('mingw')
@@ -611,8 +606,9 @@ const runMingw = async () => {
611606
for (const item of toInstall) {
612607
let fn = `${dlPath}\\${item.pkg}.tar.lzma`
613608
await download(item.uri, fn)
614-
fn = fn.replace(/:/, '').replace(/\\/g, '/')
615-
let cmd = `${tar} --lzma -C ${dirDKTar} -xf /${fn}`
609+
//fn = fn.replace(/:/, '').replace(/\\/g, '/')
610+
//let cmd = `${tar} --lzma -C ${dirDKTar} -xf /${fn}`
611+
let cmd = `7z x -tlzma ${fn} -so | 7z x -aoa -si -ttar -o${dirDK7z}`
616612
execSync(cmd)
617613
}
618614
process.env.Path = curPath
@@ -641,6 +637,13 @@ const run = async () => {
641637

642638
if (mingw !== '' || msys2 !== '') {
643639
if (ruby.abiVers >= '2.4.0') {
640+
/* setting to string uses specified release asset for MSYS2,
641+
* setting to null uses pre-installed MSYS2
642+
* release contains all Ruby building dependencies,
643+
* used when MSYS2 install or server have problems
644+
*/
645+
RELEASE_ASSET = fs.lstatSync('C:\\msys64').isSymbolicLink() ?
646+
'msys2-2020-03-20' : null
644647
if (RELEASE_ASSET) { await installMSYS2() }
645648
execSync(`pacman.exe -Sy`)
646649
} else {

mingw.js

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,17 @@ const core = require('@actions/core')
66

77
const { download, execSync, getInput } = require('./common')
88

9-
/* setting to string uses specified release asset for MSYS2,
10-
* setting to null uses pre-installed MSYS2
11-
* release contains all Ruby building dependencies,
12-
* used when MSYS2 install or server have problems
13-
*/
14-
const RELEASE_ASSET = fs.lstatSync('C:\\msys64').isSymbolicLink() ?
15-
'msys2-2020-03-20' : null
16-
179
// SSD drive, used for most downloads
1810
const drive = (process.env['GITHUB_WORKSPACE'] || 'C')[0]
1911

2012
const tar = 'C:\\msys64\\usr\\bin\\tar.exe'
2113
const msys2UsrBin = 'C:\\msys64\\usr\\bin'
2214

2315
// below are for setup of old Ruby DevKit
24-
const dirDK = `${drive}:\\DevKit64`
25-
const dirDKTar = `/${drive}/DevKit64/mingw/x86_64-w64-mingw32`
16+
const dirDK = `C:\\DevKit64`
17+
const dirDKTar = `/c/DevKit64/mingw/x86_64-w64-mingw32`
18+
19+
const dirDK7z = `C:\\DevKit64\\mingw\\x86_64-w64-mingw32`
2620

2721
const dlPath = `${process.env.RUNNER_TEMP}\\srp`
2822
if (!fs.existsSync(dlPath)) {
@@ -31,6 +25,7 @@ if (!fs.existsSync(dlPath)) {
3125

3226
let ruby
3327
let old_pkgs
28+
let RELEASE_ASSET
3429

3530
// clean inputs
3631
let mingw = getInput('mingw')
@@ -157,8 +152,9 @@ const runMingw = async () => {
157152
for (const item of toInstall) {
158153
let fn = `${dlPath}\\${item.pkg}.tar.lzma`
159154
await download(item.uri, fn)
160-
fn = fn.replace(/:/, '').replace(/\\/g, '/')
161-
let cmd = `${tar} --lzma -C ${dirDKTar} -xf /${fn}`
155+
//fn = fn.replace(/:/, '').replace(/\\/g, '/')
156+
//let cmd = `${tar} --lzma -C ${dirDKTar} -xf /${fn}`
157+
let cmd = `7z x -tlzma ${fn} -so | 7z x -aoa -si -ttar -o${dirDK7z}`
162158
execSync(cmd)
163159
}
164160
process.env.Path = curPath
@@ -187,6 +183,13 @@ export const run = async () => {
187183

188184
if (mingw !== '' || msys2 !== '') {
189185
if (ruby.abiVers >= '2.4.0') {
186+
/* setting to string uses specified release asset for MSYS2,
187+
* setting to null uses pre-installed MSYS2
188+
* release contains all Ruby building dependencies,
189+
* used when MSYS2 install or server have problems
190+
*/
191+
RELEASE_ASSET = fs.lstatSync('C:\\msys64').isSymbolicLink() ?
192+
'msys2-2020-03-20' : null
190193
if (RELEASE_ASSET) { await installMSYS2() }
191194
execSync(`pacman.exe -Sy`)
192195
} else {

0 commit comments

Comments
 (0)