From fda15c46939cda7a916a52557cf371bdb1001af2 Mon Sep 17 00:00:00 2001 From: Andy Grove Date: Wed, 11 Mar 2026 07:47:36 -0600 Subject: [PATCH 1/3] ci: add dedicated RAT license check workflow for all PRs The existing build workflows (pr_build_linux, spark_sql_test, etc.) use paths-ignore to skip docs-only changes, which also skips the RAT license header check. This allowed files without Apache license headers to be merged via docs-only PRs. Add a lightweight dedicated workflow that runs RAT on all PRs with no path filters. Uses -N (non-recursive) to skip child module builds since RAT scans the full directory tree from the parent pom. --- .github/workflows/pr_rat_check.yml | 44 ++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .github/workflows/pr_rat_check.yml diff --git a/.github/workflows/pr_rat_check.yml b/.github/workflows/pr_rat_check.yml new file mode 100644 index 0000000000..09bc3a7632 --- /dev/null +++ b/.github/workflows/pr_rat_check.yml @@ -0,0 +1,44 @@ +# 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: RAT License Check + +concurrency: + group: ${{ github.repository }}-${{ github.head_ref || github.sha }}-${{ github.workflow }} + cancel-in-progress: true + +# No paths-ignore: this workflow must run for ALL changes including docs +on: + push: + branches: + - main + pull_request: + workflow_dispatch: + +jobs: + rat-check: + name: RAT License Check + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Set up Java + uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: 11 + - name: Run RAT check + run: ./mvnw -B -N apache-rat:check From 7ab301072d41fac9b8914237469ba5467545f568 Mon Sep 17 00:00:00 2001 From: Andy Grove Date: Wed, 11 Mar 2026 07:54:27 -0600 Subject: [PATCH 2/3] fix: add explicit permissions to RAT check workflow --- .github/workflows/pr_rat_check.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/pr_rat_check.yml b/.github/workflows/pr_rat_check.yml index 09bc3a7632..e6b015eb58 100644 --- a/.github/workflows/pr_rat_check.yml +++ b/.github/workflows/pr_rat_check.yml @@ -21,6 +21,9 @@ concurrency: group: ${{ github.repository }}-${{ github.head_ref || github.sha }}-${{ github.workflow }} cancel-in-progress: true +permissions: + contents: read + # No paths-ignore: this workflow must run for ALL changes including docs on: push: From ee5f71c087d5b7a70cc3c9d47f978dd9e1cb2073 Mon Sep 17 00:00:00 2001 From: Andy Grove Date: Wed, 11 Mar 2026 07:57:31 -0600 Subject: [PATCH 3/3] ci: use ubuntu-slim runner for RAT check --- .github/workflows/pr_rat_check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr_rat_check.yml b/.github/workflows/pr_rat_check.yml index e6b015eb58..edb8c24f66 100644 --- a/.github/workflows/pr_rat_check.yml +++ b/.github/workflows/pr_rat_check.yml @@ -35,7 +35,7 @@ on: jobs: rat-check: name: RAT License Check - runs-on: ubuntu-latest + runs-on: ubuntu-slim steps: - uses: actions/checkout@v4 - name: Set up Java