ci: mount workspace explicitly for sonar scanner
All checks were successful
build-and-push / lint (push) Successful in 4s
build-and-push / docker (push) Successful in 1m12s
build-and-push / sonar (push) Successful in 7s

This commit is contained in:
nocci 2025-12-30 14:23:43 +00:00
parent 94be980c95
commit b5e9111039

View file

@ -34,6 +34,7 @@ jobs:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
SONAR_PROJECT_KEY: ${{ secrets.SONAR_PROJECT_KEY }} SONAR_PROJECT_KEY: ${{ secrets.SONAR_PROJECT_KEY }}
run: | run: |
WORKDIR=${GITHUB_WORKSPACE:-$PWD}
HOST_URL=${SONAR_HOST_URL:?SONAR_HOST_URL secret not set} HOST_URL=${SONAR_HOST_URL:?SONAR_HOST_URL secret not set}
PROJECT_KEY=${SONAR_PROJECT_KEY:-} PROJECT_KEY=${SONAR_PROJECT_KEY:-}
if [ -z "$PROJECT_KEY" ] && [ -f sonar-project.properties ]; then if [ -z "$PROJECT_KEY" ] && [ -f sonar-project.properties ]; then
@ -49,19 +50,19 @@ jobs:
echo "Sample files:" echo "Sample files:"
find . -maxdepth 2 -type f | head -n 20 find . -maxdepth 2 -type f | head -n 20
echo "Check files inside scanner container:" echo "Check files inside scanner container:"
docker run --rm -v "$PWD:/usr/src" -w /usr/src alpine sh -c "ls -la /usr/src | head && find /usr/src -maxdepth 2 -type f -name '*.js' | head -n 20" docker run --rm -v "$WORKDIR:/project" -w /project alpine sh -c "pwd; ls -la . | head && find . -maxdepth 2 -type f -name '*.js' | head -n 20"
docker run --rm \ docker run --rm \
-e SONAR_HOST_URL="$HOST_URL" \ -e SONAR_HOST_URL="$HOST_URL" \
-e SONAR_TOKEN="$SONAR_TOKEN" \ -e SONAR_TOKEN="$SONAR_TOKEN" \
-v "$PWD:/usr/src" \ -v "$WORKDIR:/project" \
-w /usr/src \ -w /project \
sonarsource/sonar-scanner-cli \ sonarsource/sonar-scanner-cli \
sonar-scanner \ sonar-scanner \
-Dsonar.host.url="$HOST_URL" \ -Dsonar.host.url="$HOST_URL" \
-Dsonar.projectKey="$PROJECT_KEY" \ -Dsonar.projectKey="$PROJECT_KEY" \
-Dsonar.sources=. \ -Dsonar.sources=. \
-Dsonar.scm.disabled=true \ -Dsonar.scm.disabled=true \
-Dsonar.projectBaseDir=/usr/src -Dsonar.projectBaseDir=/project
docker: docker:
needs: [lint, sonar] needs: [lint, sonar]