#  This workflow will compile IoTDB under jdk8 to check for compatibility issues

name: Compile Check

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: -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:
  compile-check:
    strategy:
      fail-fast: false
      matrix:
        java: [8]
        os: [ ubuntu-latest ]
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v4
      - name: Set up JDK ${{ matrix.java }}
        uses: actions/setup-java@v4
        with:
          distribution: liberica
          java-version: ${{ matrix.java }}
      - name: Compiler Test
        shell: bash
        run: |
          mvn clean package -P with-integration-tests -DskipTests -ntp
