#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

name: License check

# This GitHub workflow checks Apache License v2.0 Header is added if needed

on:
  push:
    branches:
      - master
      - branch-*
  pull_request:
    branches:
      - master
      - branch-*

concurrency:
  group: license-${{ github.head_ref || github.run_id }}
  cancel-in-progress: true

jobs:
  rat:
    name: License
    runs-on: ubuntu-24.04
    steps:
      - uses: actions/checkout@v7
      - name: Setup JDK 8
        uses: actions/setup-java@v5
        with:
          distribution: temurin
          java-version: 8
          cache: 'maven'
      - run: |
          build/mvn org.apache.rat:apache-rat-plugin:check \
          -Pscala-2.12 -Pspark-3.5 \
          -Pceleborn,celeborn-0.6 \
          -Puniffle,uniffle-0.10 \
          -Ppaimon,paimon-1.2 \
          -Pflink,flink-1.18
      - name: Upload rat report
        if: failure()
        uses: actions/upload-artifact@v7
        with:
          name: rat-report
          path: "**/target/rat*.txt"
