diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d6b3963de..10ad40c81 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -212,10 +212,24 @@ jobs: pip install -U pip pip install aqtinstall mkdir C:\Qt - python -m aqt install-qt windows desktop 6.9.3 win64_msvc2022_64 -O c:\Qt -m qt5compat qtmultimedia qtimageformats qtshadertools qtspeech || exit /b 1 + call :install_qt windows desktop 6.9.3 win64_msvc2022_64 -O c:\Qt -m qt5compat qtmultimedia qtimageformats qtshadertools qtspeech || exit /b 1 dir C:\Qt\6.9.3\msvc2022_64\bin curl.exe -L --retry 5 --retry-delay 5 --retry-all-errors "https://aka.ms/vs/17/release/vc_redist.x64.exe" -o "%GITHUB_WORKSPACE%\vc_redist.x64.exe" where iscc + goto :eof + + rem Retry aqt: on Windows it intermittently aborts with a spurious + rem "Bad7zFile: Specified path is bad", a false positive in py7zr's + rem path traversal check. The failing entry differs run to run, so a + rem repeat attempt usually succeeds. + rem See https://github.com/miurahr/aqtinstall/issues/995 + rem and https://github.com/miurahr/py7zr/issues/714 + :install_qt + for /l %%i in (1,1,3) do ( + python -m aqt install-qt %* && exit /b 0 + echo aqt install-qt failed on attempt %%i of 3 + ) + exit /b 1 - name: Build shell: cmd @@ -356,11 +370,25 @@ jobs: run: | pip install aqtinstall mkdir C:\Qt - python -m aqt install-qt windows desktop 6.9.3 win64_msvc2022_64 -O c:\Qt -m qt5compat qtmultimedia qtimageformats qtshadertools qtspeech || exit /b 1 - python -m aqt install-qt windows desktop 6.9.3 win64_msvc2022_arm64_cross_compiled -O c:\Qt -m qt5compat qtmultimedia qtimageformats qtshadertools qtspeech || exit /b 1 + call :install_qt windows desktop 6.9.3 win64_msvc2022_64 -O c:\Qt -m qt5compat qtmultimedia qtimageformats qtshadertools qtspeech || exit /b 1 + call :install_qt windows desktop 6.9.3 win64_msvc2022_arm64_cross_compiled -O c:\Qt -m qt5compat qtmultimedia qtimageformats qtshadertools qtspeech || exit /b 1 dir C:\Qt\6.9.3\msvc2022_arm64\bin curl.exe -L --retry 5 --retry-delay 5 --retry-all-errors "https://aka.ms/vs/17/release/vc_redist.arm64.exe" -o "%GITHUB_WORKSPACE%\vc_redist.arm64.exe" where iscc + goto :eof + + rem Retry aqt: on Windows it intermittently aborts with a spurious + rem "Bad7zFile: Specified path is bad", a false positive in py7zr's + rem path traversal check. The failing entry differs run to run, so a + rem repeat attempt usually succeeds. + rem See https://github.com/miurahr/aqtinstall/issues/995 + rem and https://github.com/miurahr/py7zr/issues/714 + :install_qt + for /l %%i in (1,1,3) do ( + python -m aqt install-qt %* && exit /b 0 + echo aqt install-qt failed on attempt %%i of 3 + ) + exit /b 1 - name: Build shell: cmd