diff options
author | Cristian Adam <cristian.adam@qt.io> | 2021-12-08 13:15:10 +0100 |
---|---|---|
committer | Cristian Adam <cristian.adam@qt.io> | 2021-12-08 14:49:02 +0000 |
commit | 1fdc358eef46bdc195bb935fd95a17a3828c0818 (patch) | |
tree | 379c977ea2a7e484d0240f3dae393da7cc53db54 /.github | |
parent | 1996c4c8c8f52dcd365d46839404f406baf4f25b (diff) | |
download | qt-creator-1fdc358eef46bdc195bb935fd95a17a3828c0818.tar.gz |
GitHub Actions: Add 10 retries for file download
I have noticed that some jobs fail due to missing ninja or ccache
executable.
With the 10 times retries I hope that these failures will go away.
Change-Id: I2d893e0c6cefc69bc4c5f841ae154d4f83f7a922
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/build_cmake.yml | 43 |
1 files changed, 35 insertions, 8 deletions
diff --git a/.github/workflows/build_cmake.yml b/.github/workflows/build_cmake.yml index 2d83c2663d..91f70ca05e 100644 --- a/.github/workflows/build_cmake.yml +++ b/.github/workflows/build_cmake.yml @@ -76,11 +76,24 @@ jobs: endif() set(ninja_url "https://github.com/ninja-build/ninja/releases/download/v${ninja_version}/ninja-${ninja_suffix}") - file(DOWNLOAD "${ninja_url}" ./ninja.zip SHOW_PROGRESS) + foreach(retry RANGE 10) + file(DOWNLOAD "${ninja_url}" ./ninja.zip SHOW_PROGRESS) + file(SIZE ./ninja.zip fileSize) + if (fileSize GREATER 0) + break() + endif() + endforeach() + execute_process(COMMAND ${CMAKE_COMMAND} -E tar xvf ./ninja.zip) set(cmake_url "https://github.com/Kitware/CMake/releases/download/v${cmake_version}/cmake-${cmake_version}-${cmake_suffix}") - file(DOWNLOAD "${cmake_url}" ./cmake.zip SHOW_PROGRESS) + foreach(retry RANGE 10) + file(DOWNLOAD "${cmake_url}" ./cmake.zip SHOW_PROGRESS) + file(SIZE ./cmake.zip fileSize) + if (fileSize GREATER 0) + break() + endif() + endforeach() execute_process(COMMAND ${CMAKE_COMMAND} -E tar xvf ./cmake.zip) # Add to PATH environment variable @@ -357,7 +370,13 @@ jobs: shell: cmake -P {0} run: | set(ccache_url "https://github.com/cristianadam/ccache/releases/download/v$ENV{CCACHE_VERSION}/${{ runner.os }}.tar.xz") - file(DOWNLOAD "${ccache_url}" ./ccache.tar.xz SHOW_PROGRESS) + foreach(retry RANGE 10) + file(DOWNLOAD "${ccache_url}" ./ccache.tar.xz SHOW_PROGRESS) + file(SIZE ./ccache.tar.xz fileSize) + if (fileSize GREATER 0) + break() + endif() + endforeach() execute_process(COMMAND ${CMAKE_COMMAND} -E tar xvf ./ccache.tar.xz) - name: Prepare ccache archive name @@ -393,11 +412,19 @@ jobs: string(JSON name GET "${artifact_js}" "name") if ("${name}" STREQUAL "${{ steps.ccache.outputs.archive_name }}") string(JSON download_url GET "${artifact_js}" "archive_download_url") - file(DOWNLOAD "${download_url}" - "${{ steps.ccache.outputs.archive_name }}.zip" - NETRC_FILE "$ENV{GITHUB_WORKSPACE}/netrc.txt" - NETRC REQUIRED - SHOW_PROGRESS) + + foreach(retry RANGE 10) + file(DOWNLOAD "${download_url}" + "${{ steps.ccache.outputs.archive_name }}.zip" + NETRC_FILE "$ENV{GITHUB_WORKSPACE}/netrc.txt" + NETRC REQUIRED + SHOW_PROGRESS) + file(SIZE "${{ steps.ccache.outputs.archive_name }}.zip" fileSize) + if (fileSize GREATER 0) + break() + endif() + endforeach() + execute_process(COMMAND ${CMAKE_COMMAND} -E tar xvf "${{ steps.ccache.outputs.archive_name }}.zip") file(MAKE_DIRECTORY .ccache) execute_process(COMMAND ${CMAKE_COMMAND} -E tar xf "../${{ steps.ccache.outputs.archive_name }}.tar" WORKING_DIRECTORY .ccache) |