Add GitHub Actions for Maven setup, JUnit reporting, and build analysis with SonarCloud.
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
name: Build and Analyse
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- develop
|
||||
- feature*
|
||||
pull_request:
|
||||
types: [ opened, synchronize, reopened ]
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
|
||||
jobs:
|
||||
|
||||
build-and-analyse:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
|
||||
|
||||
|
||||
- name: Setup Java and Maven
|
||||
uses: ./.github/actions/setup-java-maven
|
||||
|
||||
- name: Set up Maven with GitHub Packages
|
||||
run: |
|
||||
mkdir -p ~/.m2
|
||||
cat > ~/.m2/settings.xml << 'EOF'
|
||||
<settings>
|
||||
<servers>
|
||||
<server>
|
||||
<id>github-cloudflaredns</id>
|
||||
<username>th-schwarz</username>
|
||||
<password>${{ secrets.GITHUB_TOKEN }}</password>
|
||||
</server>
|
||||
</servers>
|
||||
</settings>
|
||||
EOF
|
||||
|
||||
- name: Build and analyze with SonarCloud
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
|
||||
CF_API_TOKEN: ${{ secrets.CF_API_TOKEN }}
|
||||
run: mvn -B -DtestClasspath=src/test/ verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Dsonar.projectKey=th-schwarz_DynDRest
|
||||
|
||||
- name: Publish Test Report
|
||||
uses: ./.github/actions/publish-report/
|
||||
if: ${{ always() }}
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
report-name: Summary of JUnit Tests
|
||||
Reference in New Issue
Block a user