# This workflow will build a Java project with Maven
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven

name: Unit-Test

on:
  push:
    branches:
      - master
      - 'rel/*'
      - "rc/*"
    paths-ignore:
      - 'docs/**'
      - 'site/**'
  pull_request:
    branches:
      - master
      - 'rel/*'
      - "rc/*"
      - 'force_ci/**'
    paths-ignore:
      - 'docs/**'
      - 'site/**'
  # allow manually run the action:
  workflow_dispatch:

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

env:
  MAVEN_OPTS: -Xms2g -Xmx4g -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.http.retryHandler.class=standard -Dmaven.wagon.http.retryHandler.count=3
  MAVEN_ARGS: --batch-mode --no-transfer-progress
  DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}

jobs:
  unit-test:
    strategy:
      fail-fast: false
      max-parallel: 15
      matrix:
        java: [ 17 ]
        os: [ ubuntu-latest, windows-latest ]
        it_task: [ 'others', 'datanode' ]
    runs-on: ${{ matrix.os }}

    steps:
      - uses: actions/checkout@v4
      - name: Set up JDK ${{ matrix.java }}
        uses: actions/setup-java@v4
        with:
          distribution: corretto
          java-version: ${{ matrix.java }}
      - name: Cache Maven packages
        uses: actions/cache@v4
        with:
          path: ~/.m2
          key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
          restore-keys: ${{ runner.os }}-m2-
      - name: Test Datanode Module with Maven
        shell: bash
        if: ${{ matrix.it_task == 'datanode'}}
        run: mvn clean integration-test -Dtest.port.closed=true -pl iotdb-core/datanode -am -DskipTests -Diotdb.test.only=true
      - name: Test Other Modules with Maven
        shell: bash
        if: ${{ matrix.it_task == 'others'}}
        run: |
          mvn clean install -DskipTests
          mvn -P get-jar-with-dependencies,with-integration-tests clean test -Dtest.port.closed=true -Diotdb.test.skip=true
