summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Smith <tsmith84@gmail.com>2020-05-10 21:42:13 -0700
committerTim Smith <tsmith84@gmail.com>2020-05-10 22:02:01 -0700
commitf6f8f085c8c74a42b53347b9399d4909d491e30c (patch)
treecef5524d5837057bd4a75e7bfe2f560b890e9765
parent959f2e9113c3968a0af57b7397b9f33b93d3f8af (diff)
downloadchef-windows_ruby.tar.gz
Try installing Ruby via chocolateywindows_ruby
The s3 bucket install is proving to be very fragile. Signed-off-by: Tim Smith <tsmith@chef.io>
-rw-r--r--scripts/bk_tests/bk_win_functional.ps192
1 files changed, 12 insertions, 80 deletions
diff --git a/scripts/bk_tests/bk_win_functional.ps1 b/scripts/bk_tests/bk_win_functional.ps1
index 90abfe890f..976237f203 100644
--- a/scripts/bk_tests/bk_win_functional.ps1
+++ b/scripts/bk_tests/bk_win_functional.ps1
@@ -1,90 +1,22 @@
-# The filename of the Ruby installer
-$RubyFilename = "rubyinstaller-devkit-2.6.5-1-x64.exe"
-
-# The sha256 of the Ruby installer (capitalized?)
-$RubySHA256 = "BD2050496A149C7258ED4E2E44103756CA3A05C7328A939F0FDC97AE9616A96D"
-
-# Where on disk to download Ruby to
-$RubyPath = "$env:temp\$RubyFilename"
-
-# Where to download Ruby from:
-$RubyS3Path = "s3://public-cd-buildkite-cache/$RubyFilename"
-
-Function DownloadRuby
-{
- $RandDigits = Get-Random
- echo "Downloading Ruby + DevKit"
-
- aws s3 cp "$RubyS3Path" "$RubyPath.$RandDigits" | Out-Null # Out-Null is a hack to wait for the process to complete
-
- if ($LASTEXITCODE -ne 0) {
- echo "aws s3 download failed: $LASTEXITCODE"
- exit $LASTEXITCODE
- }
-
- $FileHash = (Get-FileHash "$RubyPath.$RandDigits" -Algorithm SHA256).Hash
- If ($FileHash -eq $RubySHA256) {
- echo "Downloaded SHA256 matches: $FileHash"
- } Else {
- echo "Downloaded file hash $FileHash does not match desired $RubySHA256"
- exit 1
- }
-
- # On a shared filesystem, sometimes a good file appears while we are downloading
- If (Test-Path $RubyPath) {
- $FileHash = (Get-FileHash "$RubyPath" -Algorithm SHA256).Hash
- If ($FileHash -eq $RubySHA256) {
- echo "A matching file appeared while downloading, using it."
- Remove-Item "$RubyPath.$RandDigits" -Force
- Return
- } Else {
- echo "Existing file does not match, bad hash: $FileHash"
- Remove-Item $RubyPath -Force
- }
- }
-
- echo "Moving file installer into place"
- Rename-Item -Path "$RubyPath.$RandDigits" -NewName $RubyFilename
-}
-
-Function InstallRuby
-{
- If (Test-Path $RubyPath) {
- echo "$RubyPath already exists"
-
- $FileHash = (Get-FileHash "$RubyPath" -Algorithm SHA256).Hash
- If ($FileHash -eq $RubySHA256) {
- echo "Found matching Ruby + DevKit on disk"
- } Else {
- echo "SHA256 hash mismatch, re-downloading"
- DownloadRuby
- }
- } Else {
- echo "No Ruby found at $RubyPath, downloading"
- DownloadRuby
- }
-
- echo "Installing Ruby + DevKit"
- Start-Process $RubyPath -ArgumentList '/verysilent /dir=C:\\ruby26' -Wait
-
- echo "Cleaning up installation"
- Remove-Item $RubyPath -Force -ErrorAction SilentlyContinue
-}
-
echo "--- system details"
$Properties = 'Caption', 'CSName', 'Version', 'BuildType', 'OSArchitecture'
Get-CimInstance Win32_OperatingSystem | Select-Object $Properties | Format-Table -AutoSize
-# chocolatey functional tests fail so delete the chocolatey binary to avoid triggering them
-Remove-Item -Path C:\ProgramData\chocolatey\bin\choco.exe -ErrorAction SilentlyContinue
+echo "--- configure winrm"
+
+winrm quickconfig -q
+
+echo "--- installing ruby"
-echo "--- install ruby + devkit"
-$ErrorActionPreference = 'Stop'
+choco install ruby -y
+refreshenv
+ruby -v
+if (-not $?) { throw "Unable to install ruby" }
-InstallRuby
+echo "--- remove chocolatey to avoid those tests running :("
-# Set-Item -Path Env:Path -Value to include ruby26
-$Env:Path+=";C:\ruby26\bin"
+# chocolatey functional tests fail so delete the chocolatey binary to avoid triggering them
+Remove-Item -Path C:\ProgramData\chocolatey\bin\choco.exe -ErrorAction SilentlyContinue
echo "--- configure winrm"