mirror of
https://github.com/actions/runner-images.git
synced 2025-12-13 12:48:18 +00:00
pin sha for macos packages (#9001)
This commit is contained in:
@@ -9,22 +9,27 @@ source ~/utils/utils.sh
|
|||||||
|
|
||||||
# Install Mono Framework
|
# Install Mono Framework
|
||||||
MONO_VERSION_FULL=$(get_toolset_value '.mono.framework.version')
|
MONO_VERSION_FULL=$(get_toolset_value '.mono.framework.version')
|
||||||
|
MONO_PKG_SHA256=$(get_toolset_value '.mono.framework.sha256')
|
||||||
MONO_VERSION=$(echo "$MONO_VERSION_FULL" | cut -d. -f 1,2,3)
|
MONO_VERSION=$(echo "$MONO_VERSION_FULL" | cut -d. -f 1,2,3)
|
||||||
MONO_VERSION_SHORT=$(echo $MONO_VERSION_FULL | cut -d. -f 1,2)
|
MONO_VERSION_SHORT=$(echo $MONO_VERSION_FULL | cut -d. -f 1,2)
|
||||||
MONO_PKG_URL="https://download.mono-project.com/archive/${MONO_VERSION}/macos-10-universal/MonoFramework-MDK-${MONO_VERSION_FULL}.macos10.xamarin.universal.pkg"
|
MONO_PKG_URL="https://download.mono-project.com/archive/${MONO_VERSION}/macos-10-universal/MonoFramework-MDK-${MONO_VERSION_FULL}.macos10.xamarin.universal.pkg"
|
||||||
MONO_VERSIONS_PATH='/Library/Frameworks/Mono.framework/Versions'
|
MONO_VERSIONS_PATH='/Library/Frameworks/Mono.framework/Versions'
|
||||||
|
|
||||||
MONO_PKG_PATH=$(download_with_retry "$MONO_PKG_URL")
|
MONO_PKG_PATH=$(download_with_retry "$MONO_PKG_URL")
|
||||||
|
use_checksum_comparison "$MONO_PKG_PATH" "$MONO_PKG_SHA256"
|
||||||
|
|
||||||
echo "Installing Mono Framework ${MONO_VERSION_FULL}..."
|
echo "Installing Mono Framework ${MONO_VERSION_FULL}..."
|
||||||
sudo installer -pkg "$MONO_PKG_PATH" -target /
|
sudo installer -pkg "$MONO_PKG_PATH" -target /
|
||||||
|
|
||||||
# Download and install NUnit console
|
# Download and install NUnit console
|
||||||
NUNIT_VERSION=$(get_toolset_value '.mono.nunit.version')
|
NUNIT_VERSION=$(get_toolset_value '.mono.nunit.version')
|
||||||
NUNIT_ARCHIVE_URL="https://github.com/nunit/nunit-console/releases/download/${NUNIT_VERSION}/NUnit.Console-${NUNIT_VERSION}.zip"
|
NUNIT_ARCHIVE_URL="https://github.com/nunit/nunit-console/releases/download/${NUNIT_VERSION}/NUnit.Console-${NUNIT_VERSION}.zip"
|
||||||
|
NUNIT_ARCHIVE_SHA256=$(get_toolset_value '.mono.nunit.sha256')
|
||||||
NUNIT_PATH="/Library/Developer/nunit"
|
NUNIT_PATH="/Library/Developer/nunit"
|
||||||
NUNIT_VERSION_PATH="$NUNIT_PATH/$NUNIT_VERSION"
|
NUNIT_VERSION_PATH="$NUNIT_PATH/$NUNIT_VERSION"
|
||||||
|
|
||||||
NUNIT_ARCHIVE_PATH=$(download_with_retry "$NUNIT_ARCHIVE_URL")
|
NUNIT_ARCHIVE_PATH=$(download_with_retry "$NUNIT_ARCHIVE_URL")
|
||||||
|
use_checksum_comparison "$NUNIT_ARCHIVE_PATH" "$NUNIT_ARCHIVE_SHA256"
|
||||||
echo "Installing NUnit ${NUNIT_VERSION}..."
|
echo "Installing NUnit ${NUNIT_VERSION}..."
|
||||||
sudo mkdir -p "$NUNIT_VERSION_PATH"
|
sudo mkdir -p "$NUNIT_VERSION_PATH"
|
||||||
sudo unzip -q "$NUNIT_ARCHIVE_PATH" -d "$NUNIT_VERSION_PATH"
|
sudo unzip -q "$NUNIT_ARCHIVE_PATH" -d "$NUNIT_VERSION_PATH"
|
||||||
|
|||||||
@@ -11,6 +11,8 @@ echo "Installing Python Tooling"
|
|||||||
if is_Monterey || is_BigSur; then
|
if is_Monterey || is_BigSur; then
|
||||||
echo "Install latest Python 2"
|
echo "Install latest Python 2"
|
||||||
python2_pkg=$(download_with_retry "https://www.python.org/ftp/python/2.7.18/python-2.7.18-macosx10.9.pkg")
|
python2_pkg=$(download_with_retry "https://www.python.org/ftp/python/2.7.18/python-2.7.18-macosx10.9.pkg")
|
||||||
|
python2_pkg_sha256="c570f38b05dd8b112ad21b418cdf51a9816d62f9f44746452739d421be24d50c"
|
||||||
|
use_checksum_comparison "$python2_pkg" "$python2_pkg_sha256"
|
||||||
|
|
||||||
choice_changes_xml=$(mktemp /tmp/python2_choice_changes.xml.XXXXXX)
|
choice_changes_xml=$(mktemp /tmp/python2_choice_changes.xml.XXXXXX)
|
||||||
sudo installer -showChoiceChangesXML -pkg "$python2_pkg" -target / | tee "$choice_changes_xml" > /dev/null
|
sudo installer -showChoiceChangesXML -pkg "$python2_pkg" -target / | tee "$choice_changes_xml" > /dev/null
|
||||||
|
|||||||
@@ -235,3 +235,25 @@ get_arch() {
|
|||||||
echo "x64"
|
echo "x64"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
use_checksum_comparison() {
|
||||||
|
local file_path=$1
|
||||||
|
local checksum=$2
|
||||||
|
local sha_type=${3:-"256"}
|
||||||
|
|
||||||
|
echo "Performing checksum verification"
|
||||||
|
|
||||||
|
if [[ ! -f "$file_path" ]]; then
|
||||||
|
echo "File not found: $file_path"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
local_file_hash=$(shasum --algorithm "$sha_type" "$file_path" | awk '{print $1}')
|
||||||
|
|
||||||
|
if [[ "$local_file_hash" != "$checksum" ]]; then
|
||||||
|
echo "Checksum verification failed. Expected hash: $checksum; Actual hash: $local_file_hash."
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
echo "Checksum verification passed"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|||||||
@@ -222,10 +222,12 @@
|
|||||||
},
|
},
|
||||||
"mono": {
|
"mono": {
|
||||||
"framework":{
|
"framework":{
|
||||||
"version": "6.12.0.188"
|
"version": "6.12.0.188",
|
||||||
|
"sha256": "07cdd4e5e72b562892960b7fc73af470db7a4ffc2f68bb834eb3d0a874bbd12c"
|
||||||
},
|
},
|
||||||
"nunit": {
|
"nunit": {
|
||||||
"version": "3.15.4"
|
"version": "3.15.4",
|
||||||
|
"sha256": "356dab61433b5be76b76fd0e2e979bda56d164f6d85a900e55c3a4a5fffa28de"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -124,10 +124,12 @@
|
|||||||
},
|
},
|
||||||
"mono": {
|
"mono": {
|
||||||
"framework":{
|
"framework":{
|
||||||
"version": "6.12.0.188"
|
"version": "6.12.0.188",
|
||||||
|
"sha256": "07cdd4e5e72b562892960b7fc73af470db7a4ffc2f68bb834eb3d0a874bbd12c"
|
||||||
},
|
},
|
||||||
"nunit": {
|
"nunit": {
|
||||||
"version": "3.15.4"
|
"version": "3.15.4",
|
||||||
|
"sha256": "356dab61433b5be76b76fd0e2e979bda56d164f6d85a900e55c3a4a5fffa28de"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user