Code / Konfiguration

.github/workflows/ci.yml

Pfad: .github/workflows/ci.yml

name: CI

on:
  push:
    branches: [ main, master ]
  pull_request:
    branches: [ main, master ]
  workflow_dispatch:

permissions:
  contents: read
  checks: write

concurrency:
  group: ci-${{ github.ref }}
  cancel-in-progress: true

jobs:
  validate:
    name: Validate Maven Modules
    runs-on: ubuntu-latest
    timeout-minutes: 25
    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Set up JDK 25
        uses: actions/setup-java@v4
        with:
          distribution: temurin
          java-version: '25'
          cache: maven

      - name: Print tool versions
        run: |
          java -version
          mvn -version

      - name: Compile all modules
        run: mvn -B -ntp -DskipTests compile

      - name: Run tests
        run: mvn -B -ntp test

      - name: Package without integration services
        run: mvn -B -ntp -DskipTests package

      - name: Package standard guard
        run: bash scripts/package-guard.sh

      - name: Upload build reports
        if: always()
        uses: actions/upload-artifact@v4
        with:
          name: surefire-reports
          path: '**/target/surefire-reports/**'
          if-no-files-found: ignore