diff options
author | Heikki Halmet <heikki.halmet@qt.io> | 2020-09-03 12:31:45 +0300 |
---|---|---|
committer | Heikki Halmet <heikki.halmet@qt.io> | 2020-11-03 08:29:42 +0300 |
commit | a7b8f5abd8019b4533fa98536e7ad970a4e94db5 (patch) | |
tree | 7a828758d59228d50994da945f36ca8cefec281f /coin | |
parent | 26457902b1bc5b4798b88802b57aece30ae9904c (diff) |
Provisioning: Retry python installation if failure occurs
Python installation is flaky and we haven't be able to determine the
root cause for it. Re-running the installation might help.
(Might) because we can't reproduce this manually.
Task-number: QTQAINFRA-3875
Change-Id: Id46d250a02e01007f03dfbb886d75b23c23a6216
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 6e3cb240df720ecf33d59d0087ee3cdf0fe0353f)
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Diffstat (limited to 'coin')
-rw-r--r-- | coin/provisioning/common/windows/python.ps1 | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/coin/provisioning/common/windows/python.ps1 b/coin/provisioning/common/windows/python.ps1 index aee4c199..4ce86d65 100644 --- a/coin/provisioning/common/windows/python.ps1 +++ b/coin/provisioning/common/windows/python.ps1 @@ -1,6 +1,6 @@ ############################################################################# ## -## Copyright (C) 2016 The Qt Company Ltd. +## Copyright (C) 2020 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## ## This file is part of the provisioning scripts of the Qt Toolkit. @@ -54,8 +54,30 @@ $internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\windows\python-$versio Write-Host "Fetching from URL..." Download $externalUrl $internalUrl $package Verify-Checksum $package $sha1 -Write-Host "Installing $package..." -Run-Executable "msiexec" "/passive /i $package TARGETDIR=$targetDir ALLUSERS=1" + +# Python installation is flaky, but seems to pass with second run if error occurs. +$stop = $false +[int]$retry = "0" +do { + try { + # /levx = e:'All error messages' v:'Verbose' x:'Extra debugging info' + Run-Executable "msiexec" "/passive /i $package /levx C:\Windows\Temp\Python_log.log TARGETDIR=$targetDir ALLUSERS=1" + $stop = $true + } + catch { + Get-Content C:\Windows\Temp\Python_log.log -Tail 50 + if ($retry -gt 2) { + Write-Host "Python installation failed!" + throw + } + else { + Write-Host "Couldn't install python, retrying in 30 seconds" + Start-Sleep -s 30 + $retry = $retry + 1 + } + } +} +while ($stop -ne $true) # We need to change allowZip64 from 'False' to 'True' to be able to create ZIP files that use the ZIP64 extensions when the zipfile is larger than 2 GB Write-Host "Changing allowZip64 value to 'True'..." |