From 8b297158df8f7203f96e1f1fb30ad0efab9b7fde Mon Sep 17 00:00:00 2001 From: Tuomo Kriikkula Date: Thu, 16 Nov 2023 16:04:37 +0200 Subject: [PATCH] Add caching for Windows redistributables --- .github/workflows/udk-tests.yaml | 10 ++++++++++ tests/UDKTests/install_dx_redist.ps1 | 30 ++++++++++++++++++++-------- tests/UDKTests/install_dx_sdk.ps1 | 13 +++++++++--- 3 files changed, 42 insertions(+), 11 deletions(-) diff --git a/.github/workflows/udk-tests.yaml b/.github/workflows/udk-tests.yaml index 29a4266..d8ea996 100644 --- a/.github/workflows/udk-tests.yaml +++ b/.github/workflows/udk-tests.yaml @@ -57,6 +57,16 @@ jobs: - run: py --version + - name: Cache Windows redistributables + uses: actions/cache@v3 + id: cache-win-redist + with: + path: | + C:\Temp\VcRedist + C:\Temp\*.exe + key: win-cached-redist + restore-keys: win-cached-redist + - name: Install VC Redist 2012 run: .\tests\UDKTests\install_vcredist.ps1 if: matrix.os != 'self-hosted' diff --git a/tests/UDKTests/install_dx_redist.ps1 b/tests/UDKTests/install_dx_redist.ps1 index 68577a1..fd52906 100644 --- a/tests/UDKTests/install_dx_redist.ps1 +++ b/tests/UDKTests/install_dx_redist.ps1 @@ -2,22 +2,36 @@ $ErrorView = 'NormalView' $DX_WEB_SETUP = "C:\Temp\dxwebsetup.exe" -Write-Output "Downloading $DX_WEB_SETUP" -Invoke-WebRequest ` - -Uri https://download.microsoft.com/download/1/7/1/1718CCC4-6315-4D8E-9543-8E28A4E18C4C/dxwebsetup.exe ` - -OutFile $DX_WEB_SETUP -Write-Output "Done" +if (Test-Path $DX_WEB_SETUP) +{ + Write-Output "'$DX_WEB_SETUP' exists" +} +else +{ + Write-Output "Downloading $DX_WEB_SETUP" + Invoke-WebRequest ` + -Uri https://download.microsoft.com/download/1/7/1/1718CCC4-6315-4D8E-9543-8E28A4E18C4C/dxwebsetup.exe ` + -OutFile $DX_WEB_SETUP + Write-Output "Done" +} $DxWebSetupTemp = "C:\Temp\dx_websetup_temp\" Start-Process -NoNewWindow -FilePath $DX_WEB_SETUP -ArgumentList "/Q", "/T:$DxWebSetupTemp" $DX_REDIST_EXE = "C:\Temp\dx_redist.exe" -Write-Output "Downloading $DX_REDIST_EXE" -Invoke-WebRequest ` +if (Test-Path $DX_REDIST_EXE) +{ + Write-Output "'$DX_REDIST_EXE' exists" +} +else +{ + Write-Output "Downloading $DX_REDIST_EXE" + Invoke-WebRequest ` -Uri https://download.microsoft.com/download/8/4/A/84A35BF1-DAFE-4AE8-82AF-AD2AE20B6B14/directx_Jun2010_redist.exe ` -OutFile $DX_REDIST_EXE -Write-Output "Done" + Write-Output "Done" +} $DxRedistTemp = "C:\Temp\dx_redist_temp\" Write-Output "Running $DX_REDIST_EXE" diff --git a/tests/UDKTests/install_dx_sdk.ps1 b/tests/UDKTests/install_dx_sdk.ps1 index 2d29e1c..455818c 100644 --- a/tests/UDKTests/install_dx_sdk.ps1 +++ b/tests/UDKTests/install_dx_sdk.ps1 @@ -2,11 +2,18 @@ $ErrorView = 'NormalView' $DX_SDK_EXE = "C:\Temp\dx_sdk.exe" -Write-Output "Downloading $DX_SDK_EXE" -Invoke-WebRequest ` +if (Test-Path $DX_SDK_EXE) +{ + Write-Output "'$DX_SDK_EXE' exists" +} +else +{ + Write-Output "Downloading $DX_SDK_EXE" + Invoke-WebRequest ` -Uri https://download.microsoft.com/download/A/E/7/AE743F1F-632B-4809-87A9-AA1BB3458E31/DXSDK_Jun10.exe ` -OutFile $DX_SDK_EXE -Write-Output "Done" + Write-Output "Done" +} Write-Output "Running $DX_SDK_EXE" & $DX_SDK_EXE /U