Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions src/commands/scan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,23 @@ parameters:
description: the root of the project that should be analyzed (relative to the root directory of the repository)
default: .
type: string
scanner_version:
description: the version of the sonar scanner cli
default: 7.1.0.4889
type: string
steps:
- run:
name: Create cache directory if it doesn't exist
command: mkdir -p /tmp/cache/scanner
- restore_cache:
keys:
- v<<parameters.cache_version>>-sonarcloud-scanner-7.1.0.4889
- v<<parameters.cache_version>>-sonarcloud-scanner-<<parameters.scanner_version>>
- run:
name: SonarQube Cloud
environment:
PROJECT_ROOT: <<parameters.project_root>>
SCANNER_VERSION: <<parameters.scanner_version>>
command: <<include(scripts/scan.sh)>>
- save_cache:
key: v<<parameters.cache_version>>-sonarcloud-scanner-7.1.0.4889
key: v<<parameters.cache_version>>-sonarcloud-scanner-<<parameters.scanner_version>>
paths: /tmp/cache/scanner
12 changes: 6 additions & 6 deletions src/scripts/scan.sh
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
#!/usr/bin/env bash

set -e
VERSION=7.1.0.4889
SCANNER_VERSION=${SCANNER_VERSION:-"7.1.0.4889"}
SONAR_TOKEN=${SONAR_TOKEN:?Environment variable SONAR_TOKEN is required}
SCANNER_DIRECTORY=/tmp/cache/scanner
export SONAR_USER_HOME=$SCANNER_DIRECTORY/.sonar
OS="linux"
ARCH="x64"
VERSION_OS_ARCH="$VERSION-$OS-$ARCH"
VERSION_OS_ARCH="$SCANNER_VERSION-$OS-$ARCH"
echo "Sonar user home: $SONAR_USER_HOME"

if [[ ! -x "$SCANNER_DIRECTORY/sonar-scanner-$VERSION_OS_ARCH/bin/sonar-scanner" ]]; then
echo "Downloading Sonar Scanner..."
curl -Ol https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-$VERSION_OS_ARCH.zip
unzip -qq -o sonar-scanner-cli-$VERSION_OS_ARCH.zip -d $SCANNER_DIRECTORY
unzip -qq -o "sonar-scanner-cli-$VERSION_OS_ARCH.zip" -d $SCANNER_DIRECTORY
fi

chmod +x $SCANNER_DIRECTORY/sonar-scanner-$VERSION_OS_ARCH/bin/sonar-scanner
chmod +x $SCANNER_DIRECTORY/sonar-scanner-$VERSION_OS_ARCH/jre/bin/java
chmod +x "$SCANNER_DIRECTORY/sonar-scanner-$VERSION_OS_ARCH/bin/sonar-scanner"
chmod +x "$SCANNER_DIRECTORY/sonar-scanner-$VERSION_OS_ARCH/jre/bin/java"

PROJECT_ROOT=${PROJECT_ROOT:-.}
cd "$PROJECT_ROOT"
echo "Running Sonar Scanner in project root: $PROJECT_ROOT"
$SCANNER_DIRECTORY/sonar-scanner-$VERSION_OS_ARCH/bin/sonar-scanner
"$SCANNER_DIRECTORY/sonar-scanner-$VERSION_OS_ARCH/bin/sonar-scanner"