name: Backend CI on: push: branches: [ main, develop ] paths: - 'backend/**' pull_request: branches: [ main, develop ] paths: - 'backend/**' jobs: test: name: Run Maven Tests runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up JDK 21 uses: actions/setup-java@v4 with: java-version: '21' distribution: 'temurin' cache: 'maven' - name: Cache Maven packages uses: actions/cache@v3 with: path: ~/.m2 key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} restore-keys: ${{ runner.os }}-m2 - name: Run Maven tests working-directory: ./backend run: mvn test - name: Upload test results uses: actions/upload-artifact@v3 if: always() with: name: backend-test-results path: backend/target/surefire-reports/ retention-days: 7