Skip to content

bug: license-header-check.yml never runs on java-only pull requests #9397

Open

Description

@dajiaohuang

.github/workflows/license-header-check.yml runs five checks — rust/ (rs), python/ (py), protos/ (proto), java/lance-jni (rs) and java/src (java) — but its pull_request.paths filter lists only rust/**, python/** and protos/**. A pull request whose changed files are all under java/** matches none of them, so the job never runs and the two Java surfaces it checks are covered only by the post-merge push run on main.

The two Java steps arrived with #4437 without extending the filter, and the later path fixes (#4668, #4671) only updated the paths inside those steps. Adding java/** to the pull_request.paths list is a one-line change, and the Java headers are clean today, so it should not turn main red.

Steps to reproduce

  1. Merge a pull request whose changed files are all under java/**.
  2. Query the workflow runs for its head commit:
gh api "repos/lance-format/lance/actions/workflows/license-header-check.yml/runs?head_sha=<sha>" --jq .total_count

Observed 0 for #8979 (java/pom.xml), #8990 (java/lance-jni/src/transaction.rs) and #8603 (java/lance-jni/src/blocking_blob.rs). The same query returns 1 for #9106, which touches rust/lance-core/**.

Expected behavior

The job runs whenever a change touches a tree it checks, so a missing or malformed Java license header fails the pull request instead of landing on main first.

Lance version

N/A — repository CI configuration, observed at main (27daf383b).

Language binding

Java

Environment

GitHub Actions.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions