Files
Wegwichtel/.gitea/workflows/sonar-scanner.yaml
T
florian a3e7ca16ba
Sonarqube Scanner / Build and analyze (push) Failing after 27s
ssh action for deployment added after qualitygate
2026-09-27 21:00:09 +02:00

89 lines
2.9 KiB
YAML

name: Sonarqube Scanner
on:
push:
branches:
- main
jobs:
build:
name: Build and analyze
runs-on: web
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Download SonarQube Scanner
env:
SONAR_SCANNER_VERSION: ${{ vars.SONAR_SCANNER_VERSION }}
run: |-
apk --no-cache add curl unzip;
curl --create-dirs -sSLo /tmp/sonar-scanner.zip https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-$SONAR_SCANNER_VERSION.zip;
unzip -o /tmp/sonar-scanner.zip -d /tmp/;
- name: Check if SonarQube Scanner is available
env:
SONAR_SCANNER_HOME: ${{ vars.SONAR_SCANNER_HOME }}
run: |-
test -f $SONAR_SCANNER_HOME/bin/sonar-scanner;
- name: Verify SonarQube Scanner installation
env:
SONAR_SCANNER_HOME: ${{ vars.SONAR_SCANNER_HOME }}
run: |-
java -version;
$SONAR_SCANNER_HOME/bin/sonar-scanner --version
- name: Run Coverage tests
env:
API_USER: ${{ secrets.API_USER }}
API_PASSWORD: ${{ secrets.API_SECRET }}
run: |-
npm install -g c8;
rm -rf coverage/js;
npm ci;
npm run test:coverage;
- name: Run sonar-scanner
env:
SONAR_SCANNER_HOME: ${{ vars.SONAR_SCANNER_HOME }}
SONAR_HOST_URL: ${{ vars.SONAR_HOST_URL }}
SONAR_PROJECT_KEY: ${{ vars.SONAR_PROJECT_KEY }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
run: |-
$SONAR_SCANNER_HOME/bin/sonar-scanner \
-Dsonar.projectKey=$SONAR_PROJECT_KEY \
-Dsonar.host.url=$SONAR_HOST_URL \
-Dsonar.javascript.lcov.reportPaths=coverage/js/lcov.info \
-Dsonar.sources=src,public,scripts,server.js,tools/python \
-Dsonar.tests=test,test-support \
-Dsonar.test.inclusions=test/**/*.test.js \
-Dsonar.test-support.inclusions=test-support/**/*.js \
-Dsonar.exclusions=public/vendor/**,node_modules/**,data/**,storage/**
- uses: SonarSource/sonarqube-quality-gate-action@v1
timeout-minutes: 5
env:
SONAR_HOST_URL: ${{ vars.SONAR_HOST_URL }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
- name: Deploy Wegwichtel
uses: appleboy/ssh-action@v1
with:
host: ${{ vars.SSH_HOST }}
username: ${{ vars.SSH_USER }}
key: ${{ secrets.SSH_KEY }}
script: |-
set -e
cd "$HOME/Wegwichtel"
git pull --ff-only
systemctl --user restart wegwichtel.service
systemctl --user is-active --quiet wegwichtel.service
echo "Wegwichtel erfolgreich aktualisiert und neu gestartet."