Skip to content

ci: use path allow list for iceberg workflow triggers#4407

Merged
mbutrovich merged 1 commit into
apache:mainfrom
andygrove:ci-iceberg-path-allowlist
May 22, 2026
Merged

ci: use path allow list for iceberg workflow triggers#4407
mbutrovich merged 1 commit into
apache:mainfrom
andygrove:ci-iceberg-path-allowlist

Conversation

@andygrove
Copy link
Copy Markdown
Member

@andygrove andygrove commented May 22, 2026

Which issue does this PR close?

Part of #4406

Rationale for this change

The iceberg workflow currently uses paths-ignore (a deny list) to decide when to run. With a deny list, every new file or directory that should not trigger iceberg CI must be added explicitly, and it is easy to forget. As a result, unrelated changes such as dev/ scripts, release tooling, and golden-file regeneration still trigger the full iceberg test matrix.

spark_sql_test.yml already uses a paths allow list for the same reason. This PR brings the iceberg workflow in line with that approach.

What changes are included in this PR?

Switches the push and pull_request triggers in iceberg_spark_test.yml from paths-ignore to paths. The allow list covers the inputs that actually affect iceberg tests:

  • native library sources and Cargo manifests (excluding HDFS crates)
  • common and spark main sources and POMs (excluding GenerateDocs.scala)
  • dev/diffs/iceberg/**, applied by the setup-iceberg-builder action
  • root pom.xml and rust-toolchain.toml
  • the workflow file itself and the composite actions it invokes

Changes to dev/ scripts, docs, markdown, benchmarks, tests, and spark-integration no longer trigger iceberg CI.

The allow list mirrors spark_sql_test.yml, scoped to dev/diffs/iceberg and the iceberg-specific workflow and setup action.

How are these changes tested?

This is a CI configuration change. The workflow file passes actionlint, which is enforced by the validate_workflows.yml workflow.

Switch the iceberg_spark_test.yml push and pull_request triggers from
paths-ignore (deny list) to paths (allow list), so the workflow runs
only when files that actually affect iceberg tests change.

With a deny list, every new file type that should not trigger iceberg
CI must be added explicitly. An allow list excludes everything by
default, so unrelated changes such as dev/ scripts, release tooling,
and golden-file regeneration no longer trigger iceberg CI.

The allow list mirrors spark_sql_test.yml, scoped to dev/diffs/iceberg
and the iceberg-specific workflow and setup action.
@andygrove andygrove requested a review from mbutrovich May 22, 2026 15:57
Copy link
Copy Markdown
Contributor

@mbutrovich mbutrovich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense to me, thanks @andygrove!

@mbutrovich mbutrovich merged commit 6f61894 into apache:main May 22, 2026
97 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants