52 lines
2.1 KiB
YAML
52 lines
2.1 KiB
YAML
|
name: Official SonarQube (Server, Cloud) Scan
|
||
|
description: >
|
||
|
Scan your code with SonarQube Server and Cloud to detect
|
||
|
issues in 30+ languages. (Formerly SonarQube and SonarCloud)
|
||
|
branding:
|
||
|
icon: check
|
||
|
color: green
|
||
|
inputs:
|
||
|
args:
|
||
|
description: Additional arguments to the Sonar Scanner CLI
|
||
|
required: false
|
||
|
projectBaseDir:
|
||
|
description: Set the sonar.projectBaseDir analysis property
|
||
|
required: false
|
||
|
scannerVersion:
|
||
|
description: Version of the Sonar Scanner CLI to use
|
||
|
required: false
|
||
|
default: 6.2.1.4610
|
||
|
scannerBinariesUrl:
|
||
|
description: URL to download the Sonar Scanner CLI binaries from
|
||
|
required: false
|
||
|
default: https://binaries.sonarsource.com/Distribution/sonar-scanner-cli
|
||
|
runs:
|
||
|
using: "composite"
|
||
|
steps:
|
||
|
- name: Sanity checks
|
||
|
run: ${GITHUB_ACTION_PATH}/sanity-checks.sh
|
||
|
shell: bash
|
||
|
env:
|
||
|
INPUT_PROJECTBASEDIR: ${{ inputs.projectBaseDir }}
|
||
|
- name: Load Sonar Scanner CLI from cache
|
||
|
id: sonar-scanner-cli
|
||
|
uses: actions/cache@v4.0.2
|
||
|
with:
|
||
|
path: ${{ runner.temp }}/sonar-scanner-cli-${{ inputs.scannerVersion }}-${{ runner.os }}-${{ runner.arch }}
|
||
|
key: sonar-scanner-cli-${{ inputs.scannerVersion }}-${{ runner.os }}-${{ runner.arch }}
|
||
|
- name: Install Sonar Scanner CLI
|
||
|
if: ${{ env.NO_CACHE == 'true' || steps.sonar-scanner-cli.outputs.cache-hit != 'true' }}
|
||
|
run: ${GITHUB_ACTION_PATH}/install-sonar-scanner-cli.sh
|
||
|
shell: bash
|
||
|
env:
|
||
|
INPUT_SCANNERVERSION: ${{ inputs.scannerVersion }}
|
||
|
INPUT_SCANNERBINARIESURL: ${{ inputs.scannerBinariesUrl }}
|
||
|
- name: Add SonarScanner CLI to the PATH
|
||
|
run: echo "${RUNNER_TEMP}/sonar-scanner-cli-${{ inputs.scannerVersion }}-${{ runner.os }}-${{ runner.arch }}/bin" >> $GITHUB_PATH
|
||
|
shell: bash
|
||
|
- name: Run SonarScanner
|
||
|
run: ${GITHUB_ACTION_PATH}/run-sonar-scanner.sh ${{ inputs.args }}
|
||
|
shell: bash
|
||
|
env:
|
||
|
INPUT_PROJECTBASEDIR: ${{ inputs.projectBaseDir }}
|
||
|
SONAR_SCANNER_JRE: ${{ runner.temp }}/sonar-scanner-cli-${{ inputs.scannerVersion }}-${{ runner.os }}-${{ runner.arch }}/jre
|