2024-12-11 10:03:13 +00:00
#!/bin/bash
set -eou pipefail
# See https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/store-information-in-variables#default-environment-variables
#
# Script-specific variables required:
# - INPUT_SCANNERVERSION: e.g. 6.2.1.4610
# - INPUT_SCANNERBINARIESURL: e.g. https://github.com/me/my-repo/raw/refs/heads/main/binaries
2024-12-11 10:13:46 +00:00
echo " ::info title=SonarScanner os: $RUNNER_OS arch: $RUNNER_ARCH "
2024-12-11 10:17:23 +00:00
if [ [ " $RUNNER_OS " = = "Linux" && " $RUNNER_ARCH " = = "X64" ] ] ; then
FLAVOR = "linux-x64"
elif [ [ " $RUNNER_OS " = = "linux" && " $RUNNER_ARCH " = = "amd64" ] ] ; then
FLAVOR = "linux-x64"
2024-12-11 10:03:13 +00:00
elif [ [ " $RUNNER_OS " = = "Linux" && " $RUNNER_ARCH " = = "ARM64" ] ] ; then
FLAVOR = "linux-aarch64"
elif [ [ " $RUNNER_OS " = = "Windows" && " $RUNNER_ARCH " = = "X64" ] ] ; then
FLAVOR = "windows-x64"
elif [ [ " $RUNNER_OS " = = "macOS" && " $RUNNER_ARCH " = = "X64" ] ] ; then
FLAVOR = "macosx-x64"
elif [ [ " $RUNNER_OS " = = "macOS" && " $RUNNER_ARCH " = = "ARM64" ] ] ; then
FLAVOR = "macosx-aarch64"
else
echo " ::error title=SonarScanner:: $RUNNER_OS $RUNNER_ARCH not supported "
exit 1
fi
set -x
mkdir -p $RUNNER_TEMP /sonarscanner
cd $RUNNER_TEMP /sonarscanner
SCANNER_FILE_NAME = " sonar-scanner-cli- $INPUT_SCANNERVERSION - $FLAVOR .zip "
SCANNER_URI = " ${ INPUT_SCANNERBINARIESURL %/ } / $SCANNER_FILE_NAME "
if command -v wget & > /dev/null; then
wget --no-verbose --user-agent= sonarqube-scan-action " $SCANNER_URI "
elif command -v curl & > /dev/null; then
curl --fail --silent --show-error --user-agent sonarqube-scan-action \
--location --output " $SCANNER_FILE_NAME " " $SCANNER_URI "
elif [ " $RUNNER_OS " = = "Windows" ] && [ -t "C:\\msys64\\usr\\bin\\wget.exe" ] ; then
"C:\\msys64\\usr\\bin\\wget.exe" --no-verbose --user-agent= sonarqube-scan-action " $SCANNER_URI "
elif [ " $RUNNER_OS " = = "Windows" ] && [ -t "C:\\msys64\\usr\\bin\\curl.exe" ] ; then
"C:\\msys64\\usr\\bin\\curl.exe" --fail --silent --show-error --user-agent sonarqube-scan-action \
--location --output " $SCANNER_FILE_NAME " " $SCANNER_URI "
else
echo "::error title=SonarScanner::Neither wget nor curl found on the machine"
exit 1
fi
unzip -q $SCANNER_FILE_NAME
2024-12-11 14:02:06 +00:00
sed -i "s/use_embedded_jre=true/use_embedded_jre=false/g" sonar-scanner-$INPUT_SCANNERVERSION -$FLAVOR /bin/sonar-scanner
2024-12-11 10:03:13 +00:00
# Folder name should correspond to the directory cached by the actions/cache
mv sonar-scanner-$INPUT_SCANNERVERSION -$FLAVOR $RUNNER_TEMP /sonar-scanner-cli-$INPUT_SCANNERVERSION -$RUNNER_OS -$RUNNER_ARCH