name: Run Unit and Integration Tests

on:
  push:
    branches:
      - main

  workflow_dispatch:
    inputs:
      branch:
        description: 'Branch name to run the tests on'
        required: true
        default: 'main'

jobs:
  run-tests:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v3
        with:
          ref: ${{ github.event.inputs.branch }}

      - name: Set up JDK 17
        uses: actions/setup-java@v3
        with:
          java-version: '17'
          distribution: 'temurin'
          server-id: github
          settings-path: ${{ github.workspace }}

      - name: Run unit tests
        run: mvn clean test -Punit-tests

      - name: Run integration tests
        run: mvn clean verify -Pintegration-tests