diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6853d5e3a..07d55b2ff 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -211,10 +211,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 @@ -355,11 +369,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