Skip to content

[SPARK-58459][INFRA] Manage build_main.yml per-branch instead of gating on github.ref - #57660

Open
gaogaotiantian wants to merge 1 commit into
apache:masterfrom
gaogaotiantian:SPARK-58459-master
Open

[SPARK-58459][INFRA] Manage build_main.yml per-branch instead of gating on github.ref#57660
gaogaotiantian wants to merge 1 commit into
apache:masterfrom
gaogaotiantian:SPARK-58459-master

Conversation

@gaogaotiantian

Copy link
Copy Markdown
Contributor

What changes were proposed in this pull request?

Remove the github.ref != 'refs/heads/branch-4.x' clause from the call-build-and-test job condition in build_main.yml on master. For a push event, GitHub Actions always evaluates the workflow file from the ref being pushed, so master's copy of this file is only ever evaluated for pushes to master -- meaning that comparison can never be false and is dead. Disabling post-merge CI on branch-4.x is instead handled in that branch's own copy of the workflow (separate PR against branch-4.x).

The fork sync-master skip is retained:

if: >-
  github.repository == 'apache/spark'
  || github.ref != 'refs/heads/master'

Why are the changes needed?

The other build workflows (e.g. build_java21.yml, build_python_3.11.yml) are already managed per-branch, diverging in name/schedule/branch: between master and branch-4.x. build_main.yml was the exception, encoding branch-specific behavior via a runtime github.ref check that is inert on master. Aligning it with the rest keeps each branch's workflow file self-describing.

Does this PR introduce any user-facing change?

No.

How was this patch tested?

N/A. CI-configuration-only change; behavior on master is unchanged.

Was this patch authored or co-authored using generative AI tooling?

Generated-by: Claude Code (Opus 4.8)

This pull request and its description were written by Isaac.

…ng on github.ref

### What changes were proposed in this pull request?

Remove the `github.ref != 'refs/heads/branch-4.x'` clause from the
`call-build-and-test` job condition in `build_main.yml` on `master`. This clause
only had an effect on `branch-4.x`, but for a `push` event GitHub Actions always
evaluates the workflow file from the ref being pushed, so this comparison is dead
on `master`'s copy of the file. Disabling post-merge CI on `branch-4.x` is instead
handled directly in that branch's own copy of the workflow.

The fork sync-`master` skip is retained.

### Why are the changes needed?

The other build workflows (e.g. `build_java21.yml`, `build_python_3.11.yml`) are
already managed per-branch, diverging in name/schedule/`branch:` between `master`
and `branch-4.x`. `build_main.yml` was the exception, encoding branch-specific
behavior via a runtime `github.ref` check that is inert on `master`. Aligning it
with the rest keeps each branch's workflow file self-describing.

### Does this PR introduce _any_ user-facing change?

No.

### How was this patch tested?

N/A. CI-configuration-only change; behavior on `master` is unchanged.

Co-authored-by: Isaac
@uros-b

uros-b commented Jul 31, 2026

Copy link
Copy Markdown
Member

Thank you @gaogaotiantian and @zhengruifeng!

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.

3 participants