mirror of
https://github.com/SonarSource/sonarqube-scan-action.git
synced 2026-02-24 03:01:45 +00:00
SQSCANGHA-55 Support GitHub self-hosted runners without wget
This commit is contained in:
parent
05ca09c2da
commit
4c0dc43ef8
2 changed files with 65 additions and 5 deletions
54
.github/workflows/qa.yml
vendored
54
.github/workflows/qa.yml
vendored
|
|
@ -269,6 +269,60 @@ jobs:
|
||||||
- name: Assert
|
- name: Assert
|
||||||
run: |
|
run: |
|
||||||
./test/assertFileExists ./test/example-project/.scannerwork/report-task.txt
|
./test/assertFileExists ./test/example-project/.scannerwork/report-task.txt
|
||||||
|
dontFailOnMissingWget:
|
||||||
|
name: Don't fail on missing wget
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
- name: Remove wget
|
||||||
|
run: sudo apt-get remove -y wget
|
||||||
|
- name: Assert wget is not available
|
||||||
|
run: |
|
||||||
|
if command -v wget 2>&1 >/dev/null
|
||||||
|
then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
- name: Run action
|
||||||
|
uses: ./
|
||||||
|
env:
|
||||||
|
NO_CACHE: true
|
||||||
|
SONAR_HOST_URL: http://not_actually_used
|
||||||
|
SONAR_SCANNER_JSON_PARAMS: '{"sonar.scanner.internal.dumpToFile": "./output.properties"}'
|
||||||
|
with:
|
||||||
|
args: -Dsonar.scanner.internal.dumpToFile=./output.properties
|
||||||
|
- name: Assert
|
||||||
|
run: |
|
||||||
|
./test/assertFileExists ./output.properties
|
||||||
|
failOnMissingCurl:
|
||||||
|
name: Fail on missing curl
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
- name: Remove curl
|
||||||
|
run: sudo apt-get remove -y curl
|
||||||
|
- name: Assert curl is not available
|
||||||
|
run: |
|
||||||
|
if command -v curl 2>&1 >/dev/null
|
||||||
|
then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
- name: Run action
|
||||||
|
id: runTest
|
||||||
|
uses: ./
|
||||||
|
continue-on-error: true
|
||||||
|
env:
|
||||||
|
NO_CACHE: true
|
||||||
|
SONAR_HOST_URL: http://not_actually_used
|
||||||
|
SONAR_SCANNER_JSON_PARAMS: '{"sonar.scanner.internal.dumpToFile": "./output.properties"}'
|
||||||
|
with:
|
||||||
|
args: -Dsonar.scanner.internal.dumpToFile=./output.properties
|
||||||
|
- name: Assert failure of previous step
|
||||||
|
if: steps.runTest.outcome == 'success'
|
||||||
|
run: exit 1
|
||||||
useSslCertificate:
|
useSslCertificate:
|
||||||
name: >
|
name: >
|
||||||
'SONAR_ROOT_CERT' is converted to truststore
|
'SONAR_ROOT_CERT' is converted to truststore
|
||||||
|
|
|
||||||
|
|
@ -2,16 +2,20 @@
|
||||||
|
|
||||||
set -eou pipefail
|
set -eou pipefail
|
||||||
|
|
||||||
#See https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/store-information-in-variables#default-environment-variables
|
# 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
|
||||||
|
|
||||||
WGET=wget
|
CURL=curl
|
||||||
if [[ "$RUNNER_OS" == "Linux" && "$RUNNER_ARCH" == "X64" ]]; then
|
if [[ "$RUNNER_OS" == "Linux" && "$RUNNER_ARCH" == "X64" ]]; then
|
||||||
FLAVOR="linux-x64"
|
FLAVOR="linux-x64"
|
||||||
elif [[ "$RUNNER_OS" == "Linux" && "$RUNNER_ARCH" == "ARM64" ]]; then
|
elif [[ "$RUNNER_OS" == "Linux" && "$RUNNER_ARCH" == "ARM64" ]]; then
|
||||||
FLAVOR="linux-aarch64"
|
FLAVOR="linux-aarch64"
|
||||||
elif [[ "$RUNNER_OS" == "Windows" && "$RUNNER_ARCH" == "X64" ]]; then
|
elif [[ "$RUNNER_OS" == "Windows" && "$RUNNER_ARCH" == "X64" ]]; then
|
||||||
FLAVOR="windows-x64"
|
FLAVOR="windows-x64"
|
||||||
WGET="C:\\msys64\\usr\\bin\\wget.exe"
|
CURL="C:\\msys64\\usr\\bin\\curl.exe"
|
||||||
elif [[ "$RUNNER_OS" == "macOS" && "$RUNNER_ARCH" == "X64" ]]; then
|
elif [[ "$RUNNER_OS" == "macOS" && "$RUNNER_ARCH" == "X64" ]]; then
|
||||||
FLAVOR="macosx-x64"
|
FLAVOR="macosx-x64"
|
||||||
elif [[ "$RUNNER_OS" == "macOS" && "$RUNNER_ARCH" == "ARM64" ]]; then
|
elif [[ "$RUNNER_OS" == "macOS" && "$RUNNER_ARCH" == "ARM64" ]]; then
|
||||||
|
|
@ -26,9 +30,11 @@ set -x
|
||||||
mkdir -p $RUNNER_TEMP/sonarscanner
|
mkdir -p $RUNNER_TEMP/sonarscanner
|
||||||
cd $RUNNER_TEMP/sonarscanner
|
cd $RUNNER_TEMP/sonarscanner
|
||||||
|
|
||||||
$WGET --no-verbose --user-agent="sonarqube-scan-action" "${INPUT_SCANNERBINARIESURL%/}/sonar-scanner-cli-$INPUT_SCANNERVERSION-$FLAVOR.zip"
|
SCANNER_FILE_NAME="sonar-scanner-cli-$INPUT_SCANNERVERSION-$FLAVOR.zip"
|
||||||
|
SCANNER_URI="${INPUT_SCANNERBINARIESURL%/}/$SCANNER_FILE_NAME"
|
||||||
|
$CURL --user-agent "sonarqube-scan-action" --output $SCANNER_FILE_NAME $SCANNER_URI
|
||||||
|
|
||||||
unzip -q sonar-scanner-cli-$INPUT_SCANNERVERSION-$FLAVOR.zip
|
unzip -q $SCANNER_FILE_NAME
|
||||||
|
|
||||||
# Folder name should correspond to the directory cached by the actions/cache
|
# 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
|
mv sonar-scanner-$INPUT_SCANNERVERSION-$FLAVOR $RUNNER_TEMP/sonar-scanner-cli-$INPUT_SCANNERVERSION-$RUNNER_OS-$RUNNER_ARCH
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue