name: Run Tests

on:
  pull_request:
    #    types: [opened, reopened, synchronize, edited]
    branches: [ "main" ]
    paths:
      - 'src/**'           # Run if changes occur in the 'src' folder
      - 'pom.xml'          # Run if changes occur in the 'pom.xml' file

concurrency:
  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
  cancel-in-progress: true

jobs:
  run-tests:

    runs-on: ubuntu-latest
    permissions:
      contents: read

    steps:
      - uses: actions/checkout@v3
      - name: Set up JDK 11
        uses: actions/setup-java@v3
        with:
          java-version: '11'
          distribution: 'adopt-hotspot'
          server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
          settings-path: ${{ github.workspace }} # location for the settings.xml file

      - name: Build with Maven
        run: mvn --file pom.xml -U clean package

      - name: Run unit tests
        run: mvn --file pom.xml -U clean test -Punit-tests

      - name: Run integration tests
        run: mvn --file pom.xml -U clean verify -Pintegration-tests

      - name: Use Node.js
        uses: actions/setup-node@v3
        with:
          node-version: '20.x'
      - run: cd docs && npm ci
      - run: cd docs && npm run build