name: Build and Test on Pull Request on: pull_request: types: [opened, reopened, synchronize] branches: - main paths: - 'src/**' - 'pom.xml' concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: build: name: Build Java Project runs-on: ubuntu-latest permissions: contents: read steps: - uses: actions/checkout@v3 - name: Set up JDK 11 uses: actions/setup-java@v5 with: java-version: '11' distribution: 'adopt-hotspot' server-id: github settings-path: ${{ github.workspace }} - name: Build with Maven run: mvn --file pom.xml -U clean package run-tests: name: Run Unit and Integration Tests needs: build uses: ./.github/workflows/run-tests.yml with: branch: ${{ github.head_ref || github.ref_name }} build-docs: name: Build Documentation needs: [build, run-tests] runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Use Node.js uses: actions/setup-node@v5 with: node-version: '20.x' - run: cd docs && npm ci - run: cd docs && npm run build