Skip to content

Fix the RAT licence check excludes and move it to Apache RAT 0.18 - #73064

Merged
potiuk merged 4 commits into
apache:mainfrom
potiuk:rat-licence-check-0-18
Sep 13, 2026
Merged

potiuk merged 4 commits into
apache:mainfrom
potiuk:rat-licence-check-0-18

Conversation

@potiuk

@potiuk potiuk commented Sep 13, 2026

Copy link
Copy Markdown
Member

Three small fixes to the Apache RAT licence check, all found while verifying the 2026-09-09 providers RC.

The .iml exclude never matched. The entry was written as a regex, .*\.iml, but RAT matches exclude patterns as globs against the full path, and that form needs two dots. So airflow-core.iml and its 76 siblings were never excluded, and the check reported 77 unapproved licences for anyone who had opened the repo in IntelliJ. The files are gitignored and so never reach a source tarball, which is why the release-time check stayed green and the breakage only ever showed locally. Switched to **/*.iml, the form the rest of the file already uses for patterns that must match at any depth.

The check was still on RAT 0.17. When 0.18 was adopted (#64231) the release docs, the release validator and build_and_push.sh all moved, but scripts/ci/prek/check_license.py was missed — and no 0.18 image was ever pushed, so the hook kept pulling 0.17 while release managers were told to use 0.18. The image has now been built and pushed as 0.18-2026.09.13, and the pin points at it by index digest, as before, so both architectures resolve.

The image is dated afresh rather than reusing 2025.10.24, so the published 0.17 tag stays intact for anyone on an older commit.

Verified: the hook passes on 0.18 (0 unapproved, 10458 standard files); deleting the local image first confirmed it pulls the pinned digest. git grep shows no tracked file referencing 0.17 any more.


Was generative AI tooling used to co-author this PR?
  • Yes — Claude Opus 5

Generated-by: Claude Opus 5 following the guidelines

🤖 Generated with Claude Code

https://claude.ai/code/session_012zrnHJHPchB83FtwrYRf5q

The exclude entry for these was written as a regex, .*\.iml, but RAT matches
exclude patterns as globs against the full path. That form needs two dots to
match, so airflow-core.iml and its 76 siblings never matched it and the check
reported 77 unapproved licences for anyone who had opened the repo in
IntelliJ. The files are gitignored and so never reach a source tarball, which
is why the release-time check stayed green and the breakage only ever showed
up locally.

Use the same **/ form the rest of the file already uses for patterns that
have to match at any depth.

Generated-by: Claude Opus 5
Claude-Session: https://claude.ai/code/session_012zrnHJHPchB83FtwrYRf5q
The image reference has stayed on RAT 0.17 since 0.18 was adopted everywhere
else, because the 0.18 image was never built: the release docs, the release
validator and this script were all moved to 0.18, but no 0.18 tag was ever
pushed, so the prek hook kept pulling the 0.17 image. Dating the image afresh
gives the 0.18 build a tag of its own rather than overwriting a published one.

Generated-by: Claude Opus 5
Claude-Session: https://claude.ai/code/session_012zrnHJHPchB83FtwrYRf5q
This was the one reference left behind when RAT 0.18 was adopted, so the
check has been running 0.17 while the release docs and the release validator
told everyone else to use 0.18. Point it at the freshly built 0.18 image,
pinned by index digest as before so both architectures resolve.

Generated-by: Claude Opus 5
Claude-Session: https://claude.ai/code/session_012zrnHJHPchB83FtwrYRf5q
@potiuk
potiuk merged commit ba7a45e into apache:main Sep 13, 2026
36 checks passed
@potiuk
potiuk deleted the rat-licence-check-0-18 branch September 13, 2026 09:23
@github-actions

Copy link
Copy Markdown
Contributor

Backport successfully created: v3-3-test

Note: As of Merging PRs targeted for Airflow 3.X
the committer who merges the PR is responsible for backporting the PRs that are bug fixes (generally speaking) to the maintenance branches.

In matter of doubt please ask in #release-management Slack channel.

Status Branch Result
✅ v3-3-test PR Link

xvega pushed a commit to xvega/airflow that referenced this pull request Sep 13, 2026
…ache#73064)

* Make the RAT licence check ignore IntelliJ module files again

The exclude entry for these was written as a regex, .*\.iml, but RAT matches
exclude patterns as globs against the full path. That form needs two dots to
match, so airflow-core.iml and its 76 siblings never matched it and the check
reported 77 unapproved licences for anyone who had opened the repo in
IntelliJ. The files are gitignored and so never reach a source tarball, which
is why the release-time check stayed green and the breakage only ever showed
up locally.

Use the same **/ form the rest of the file already uses for patterns that
have to match at any depth.

Generated-by: Claude Opus 5
Claude-Session: https://claude.ai/code/session_012zrnHJHPchB83FtwrYRf5q

* Rebuild the Apache RAT image on RAT 0.18

The image reference has stayed on RAT 0.17 since 0.18 was adopted everywhere
else, because the 0.18 image was never built: the release docs, the release
validator and this script were all moved to 0.18, but no 0.18 tag was ever
pushed, so the prek hook kept pulling the 0.17 image. Dating the image afresh
gives the 0.18 build a tag of its own rather than overwriting a published one.

Generated-by: Claude Opus 5
Claude-Session: https://claude.ai/code/session_012zrnHJHPchB83FtwrYRf5q

* Run the licence check on Apache RAT 0.18

This was the one reference left behind when RAT 0.18 was adopted, so the
check has been running 0.17 while the release docs and the release validator
told everyone else to use 0.18. Point it at the freshly built 0.18 image,
pinned by index digest as before so both architectures resolve.

Generated-by: Claude Opus 5
Claude-Session: https://claude.ai/code/session_012zrnHJHPchB83FtwrYRf5q

---------

Co-authored-by: Rahul Vats <43964496+vatsrahul1001@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants