Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit1c9eb7c

Browse files
gstraussjon-turney
authored andcommitted
Add work-vol option to target different setup volume
Volume on which to store setup executable and cygwin-packages/Volume on which to install cygwin/ if install-dir param not specifiedSigned-off-by: Glenn Strauss <gstrauss@gluelogic.com>
1 parentd6a07e1 commit1c9eb7c

File tree

2 files changed

+25
-15
lines changed

2 files changed

+25
-15
lines changed

‎README.md‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,14 @@ Parameters
2222
| ------------------- | -------------------------------------------- | -----------
2323
| platform | x86_64 | Install the x86 or x86\_64 version of Cygwin.
2424
| packages |*none* | List of additional packages to install.
25-
| install-dir | C:\cygwin | Installation directory
25+
| install-dir | C:\cygwin | Installation directory (overrides work-vol)
2626
| site |http://mirrors.kernel.org/sourceware/cygwin/ | Mirror sites to install from, separated by whitespace
2727
| pubkeys |*none* | Absolute paths of extra public key files (RFC4880 format), separated by whitespace
2828
| check-sig | true | Whether to check the setup.ini signature
2929
| add-to-path | true | Whether to add Cygwin's`/bin` directory to the system`PATH`
3030
| allow-test-packages | false | Consider package versions marked test for installation
3131
| check-hash | true | Whether to check the hash of the downloaded Cygwin installer.
32+
| work-vol | C: | Volume on which to store setup and packages, and install Cygwin.
3233

3334
Line endings
3435
------------

‎action.yml‎

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ inputs:
1212
install-dir:
1313
# by default, install to C:\cygwin rather than the platform dependent
1414
# default to make everything simpler
15-
description:Installation directory
15+
description:Installation directory (overrides work-vol)
1616
required:false
17-
default:C:\cygwin
17+
default:''
1818
check-sig:
1919
description:Should the setup.ini file signature be checked?
2020
required:false
@@ -37,6 +37,10 @@ inputs:
3737
description:Check the hash of the installer
3838
required:false
3939
default:'true'
40+
work-vol:
41+
description:Volume on which to store setup and packages, and install Cygwin
42+
required:false
43+
default:'C:'
4044

4145
runs:
4246
using:"composite"
@@ -51,9 +55,11 @@ runs:
5155
echo "unknown platform $platform"
5256
exit 1
5357
}
58+
$vol = '${{ inputs.work-vol }}'
59+
$setupExe = "$vol\setup.exe"
5460
$setupFileName = "setup-$platform.exe"
55-
Invoke-WebRequest "https://cygwin.com/$setupFileName" -OutFileC:\setup.exe
56-
if ((Get-Item -LiteralPath'C:\setup.exe').Length -eq 0) {
61+
Invoke-WebRequest "https://cygwin.com/$setupFileName" -OutFile$setupExe
62+
if ((Get-Item -LiteralPath$setupExe).Length -eq 0) {
5763
throw "The downloaded setup has a zero length!"
5864
}
5965
@@ -69,7 +75,7 @@ runs:
6975
if ($expectedHash -eq '') {
7076
Write-Output -InputObject "::warning::Unable to find the hash for the file $setupFileName in https://cygwin.com/sha512.sum"
7177
} else {
72-
$actualHash = $(Get-FileHash -LiteralPathC:\setup.exe -Algorithm SHA512).Hash
78+
$actualHash = $(Get-FileHash -LiteralPath$setupExe -Algorithm SHA512).Hash
7379
if ($actualHash -ine $expectedHash) {
7480
throw "Invalid hash of the downloaded setup!`nExpected: $expectedHash`nActual : $actualHash"
7581
} else {
@@ -78,15 +84,20 @@ runs:
7884
}
7985
}
8086
87+
$installDir = "$vol\cygwin"
88+
if ('${{ inputs.install-dir }}' -ne '') {
89+
$installDir = '${{ inputs.install-dir }}'
90+
}
91+
8192
$packages = '${{ inputs.packages }}'
8293
$pkg_list = $packages.Split('', [System.StringSplitOptions]::RemoveEmptyEntries)
8394
$pkg_list = $pkg_list | % { $_.Trim() }
8495
$pkg_list = $pkg_list | % { $_.Trim(',') }
8596
8697
$args = @(
8798
'-qnO',
88-
'-l','C:\cygwin-packages',
89-
'-R','${{ inputs.install-dir }}'
99+
'-l',"$vol\cygwin-packages",
100+
'-R',"$installDir"
90101
)
91102
92103
if ( '${{ inputs.allow-test-packages }}' -eq 'true' ) {
@@ -133,16 +144,14 @@ runs:
133144
134145
# because setup is a Windows GUI app, make it part of a pipeline to make
135146
# PowerShell wait for it to exit
136-
& C:\setup.exe $args | Out-Default
137-
shell: powershell
147+
& $setupExe $args | Out-Default
138148
139-
-if:${{ inputs.add-to-path == 'true' }}
140-
run:echo "${{ inputs.install-dir }}\bin" >> $env:GITHUB_PATH
141-
shell:powershell
149+
if ('${{ inputs.add-to-path}}' -eq 'true') {
150+
echo "$installDir\bin" >> $env:GITHUB_PATH
151+
}
142152
143-
-run:|
144153
# run login shell to copy skeleton profile files
145-
${{ inputs.install-dir }}\bin\bash.exe --login
154+
& "$installDir\bin\bash.exe" --login
146155
shell: powershell
147156
148157
branding:

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp