diff options
author | Egor Tensin <Egor.Tensin@gmail.com> | 2021-01-04 06:34:23 +0300 |
---|---|---|
committer | Egor Tensin <Egor.Tensin@gmail.com> | 2021-01-04 06:43:40 +0300 |
commit | ba53b4b7b429b36b1c29d26e81886d00609a4b8c (patch) | |
tree | 47f433b098be7ff1d83d0b75642cdf02c3de25fd /action.yml | |
parent | replace Fix-CygwinLink with a shorter bash script (diff) | |
download | setup-cygwin-ba53b4b7b429b36b1c29d26e81886d00609a4b8c.tar.gz setup-cygwin-ba53b4b7b429b36b1c29d26e81886d00609a4b8c.zip |
refactoring
Diffstat (limited to 'action.yml')
-rw-r--r-- | action.yml | 62 |
1 files changed, 31 insertions, 31 deletions
@@ -32,9 +32,10 @@ runs: New-Variable x64 -Value ('${{ inputs.platform }}' -eq 'x64') -Option Constant New-Variable install_dir -Value '${{ inputs.install-dir }}' -Option Constant New-Variable packages -Value '${{ inputs.packages }}' -Option Constant - New-Variable symlinks_to_hardlinks -Value ('${{ inputs.symlinks-to-hardlinks }}' -eq '1') -Option Constant - New-Variable bash -Value (Join-Path $install_dir bin bash.exe) -Option Constant + if (!$windows_host) { + throw "Sorry, installing Cygwin is unsupported on $os" + } function Locate-Choco { $path = Get-Command 'choco' -ErrorAction SilentlyContinue @@ -45,37 +46,39 @@ runs: } } - if ($windows_host) { - echo 'CYGWIN=${{ inputs.env }}' >> $env:GITHUB_ENV - - $choco = Locate-Choco + echo 'CYGWIN=${{ inputs.env }}' >> $env:GITHUB_ENV - $choco_params = @( - 'install', - '-y', - '--no-progress', - '--params', "/InstallDir:$install_dir" - ) - if (!$x64) { - $choco_params += '--x86' - } - $choco_params += 'cygwin' - - # Assuming that Cygwin is not installed when this is run. - & $choco $choco_params + $choco = Locate-Choco + $choco_params = @( + 'install', + '-y', + '--no-progress', + '--params', "/InstallDir:$install_dir" + ) + if (!$x64) { + $choco_params += '--x86' + } + $choco_params += 'cygwin' + # Assuming that Cygwin is not installed when this is run. + & $choco $choco_params - # /usr/bin is really just /bin on Cygwin. - echo (Join-Path $install_dir bin) >> $env:GITHUB_PATH - echo (Join-Path $install_dir usr local bin) >> $env:GITHUB_PATH + # /usr/bin is really just /bin on Cygwin. + echo (Join-Path $install_dir bin) >> $env:GITHUB_PATH + echo (Join-Path $install_dir usr local bin) >> $env:GITHUB_PATH - $pkg_list = $packages.Split(' ', [System.StringSplitOptions]::RemoveEmptyEntries) + $pkg_list = $packages.Split(' ', [System.StringSplitOptions]::RemoveEmptyEntries) + if ($pkg_list.Count -gt 0) { + & $choco install -y --no-progress --source=cygwin $pkg_list + } + shell: pwsh - if ($pkg_list.Count -gt 0) { - & $choco install -y --no-progress --source=cygwin $pkg_list - } + - run: | + New-Variable install_dir -Value '${{ inputs.install-dir }}' -Option Constant + New-Variable symlinks_to_hardlinks -Value ('${{ inputs.symlinks-to-hardlinks }}' -eq '1') -Option Constant - if ($symlinks_to_hardlinks) { - echo @' + if ($symlinks_to_hardlinks) { + New-Variable bash -Value (Join-Path $install_dir bin bash.exe) -Option Constant + echo @' while IFS= read -d '' -r link_path; do dest_path="$( readlink --canonicalize-existing -- "$link_path" )" dest_ext=".${dest_path##*.}" @@ -88,9 +91,6 @@ runs: echo "Creating hardlink $link_path -> $dest_path" && ln -- "$dest_path" "$link_path" done < <( find /usr/bin -type l -print0 ) '@ | & $bash --login -o errexit -o nounset -o pipefail -o igncr - } - } else { - throw "Sorry, installing Cygwin is unsupported on $os" } shell: pwsh |