From 3681a25ab67f4eeeca6722dc4b57d945463ef89f Mon Sep 17 00:00:00 2001 From: Shivam Mathur Date: Mon, 27 Dec 2021 23:06:24 +0530 Subject: [PATCH] Fix to not break existing tools if they fail to setup --- src/scripts/common.sh | 10 +++++++--- src/scripts/win32.ps1 | 4 +++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/scripts/common.sh b/src/scripts/common.sh index 73ecfde7..6aaf9af4 100644 --- a/src/scripts/common.sh +++ b/src/scripts/common.sh @@ -308,8 +308,8 @@ add_tool() { export PATH=$PATH:"$tool_path_dir" echo "export PATH=\$PATH:$tool_path_dir" | sudo tee -a "$GITHUB_ENV" >/dev/null fi - if [ ! -e "$tool_path" ]; then - rm -rf "$tool_path" + if [ -e "$tool_path" ]; then + sudo cp -a "$tool_path" /tmp/"$tool" fi IFS="," read -r -a url <<<"$url" status_code=$(get -v -e "$tool_path" "${url[@]}") @@ -322,7 +322,11 @@ add_tool() { tool_version=$(get_tool_version "$tool" "$ver_param") add_log "$tick" "$tool" "Added $tool $tool_version" else - [ "$tool" = "composer" ] && fail_fast=true + if [ "$tool" = "composer" ]; then + fail_fast=true + elif [ -e /tmp/"$tool" ]; then + sudo cp -a /tmp/"$tool" "$tool_path" + fi add_log "$cross" "$tool" "Could not setup $tool" fi } diff --git a/src/scripts/win32.ps1 b/src/scripts/win32.ps1 index 1cd59f60..9e471dee 100644 --- a/src/scripts/win32.ps1 +++ b/src/scripts/win32.ps1 @@ -371,7 +371,7 @@ Function Add-Tool() { $ver_param ) if (Test-Path $bin_dir\$tool) { - Remove-Item $bin_dir\$tool + Copy-Item $bin_dir\$tool -Destination $bin_dir\$tool.old -Force } if($url.Count -gt 1) { $url = $url[0] @@ -404,6 +404,8 @@ Function Add-Tool() { } else { if($tool -eq "composer") { $env:fail_fast = 'true' + } elseif (Test-Path $bin_dir\$tool.old) { + Copy-Item $bin_dir\$tool.old -Destination $bin_dir\$tool -Force } Add-Log $cross $tool "Could not add $tool" }