Skip to content

fix(ci): label root scala build files and .asf.yaml so the right stacks run#4654

Merged
Yicong-Huang merged 5 commits into
apache:mainfrom
Yicong-Huang:fix/root-scala-files-service-label
May 2, 2026
Merged

fix(ci): label root scala build files and .asf.yaml so the right stacks run#4654
Yicong-Huang merged 5 commits into
apache:mainfrom
Yicong-Huang:fix/root-scala-files-service-label

Conversation

@Yicong-Huang
Copy link
Copy Markdown
Contributor

@Yicong-Huang Yicong-Huang commented May 2, 2026

What changes were proposed in this PR?

Close .github/labeler.yml gaps where root-level / workflow-adjacent config files matched no rule that maps to a CI stack:

Scala build / lint config → service label (so the scala stack runs):

Today these match either **/build.sbt (label dependencies, which LABEL_STACKS from #4640 maps to no-op) or no rule at all. A PR that only edits one of them skipped the scala stack — concrete example: PR #4649, labels dependencies, fix, frontend, release/v1.1.0-incubating, union {frontend}, no scala. service already maps to scala in LABEL_STACKS, so the union picks up scala automatically.

Workflow-adjacent / repo-wide config → ci label (so the full matrix runs):

  • .github/scripts/** (CI helper scripts)
  • .github/labeler.yml (the labeler config itself)
  • .asf.yaml (branch protection rulesets, mailing list, GitHub features)

These currently match no rule. ci already maps to all four stacks, which is the right gate for changes that can affect every stack.

Any related issues, documentation, discussions?

Closes #4653.

How was this PR tested?

This PR's own labeler run picks up ci (it edits .github/labeler.yml), so all stacks gate the change. After merge, future PRs that only edit a root scala build file pick up service, and PRs editing .github/scripts/**, .github/labeler.yml, or .asf.yaml pick up ci.

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

Generated-by: Claude Opus 4.7

Root-level scala build / lint config (build.sbt, project/**,
.scalafix.conf, .scalafmt.conf) was not under any label that maps
to the scala stack: build.sbt only matched dependencies (a no-op
in LABEL_STACKS, apache#4640), and the others matched no rule at all.
A PR that only edits these files therefore skipped scala in CI
even though the change is purely a scala build/lint setting.

Extend the service rule to also match those root files. service
already maps to the scala stack, so the union picks up scala
automatically.

Closes apache#4653.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Changes to repo-level ASF config (branch protection rulesets, mailing
list routing, GitHub features) currently match no rule and run no
stack. Map it to ci so all four stacks gate the change.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@Yicong-Huang Yicong-Huang changed the title fix(ci): label root scala build files under service so scala stack runs fix(ci): label root scala build files and .asf.yaml so the right stacks run May 2, 2026
Workflow-adjacent sources (CI helper scripts under .github/scripts and
the labeler config itself) should gate on the full matrix, same as
.github/workflows. Without this, a PR editing only one of these would
match no rule and run no stacks.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@Yicong-Huang Yicong-Huang requested a review from aglinxinyuan May 2, 2026 06:53
@Yicong-Huang Yicong-Huang added the release/v1.1.0-incubating back porting to release/v1.1.0-incubating label May 2, 2026
Copy link
Copy Markdown
Contributor

@aglinxinyuan aglinxinyuan left a comment

Choose a reason for hiding this comment

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

LGTM!

Comment thread .github/labeler.yml Outdated
Yicong Huang and others added 2 commits May 2, 2026 00:11
Per @aglinxinyuan review on apache#4654 — match the whole .github dir
under the ci label so issue/PR templates, dependabot, copilot config,
etc. also gate on the full matrix.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@Yicong-Huang Yicong-Huang merged commit 5c7dac8 into apache:main May 2, 2026
14 checks passed
github-actions Bot pushed a commit that referenced this pull request May 2, 2026
…ks run (#4654)

### What changes were proposed in this PR?

Close `.github/labeler.yml` gaps where root-level / workflow-adjacent
config files matched no rule that maps to a CI stack:

**Scala build / lint config → `service` label** (so the scala stack
runs):

- `build.sbt` (root)
- `project/**` (sbt build sources, `plugins.sbt`)
- `.scalafix.conf` (moved to root by #3888)
- `.scalafmt.conf`

Today these match either `**/build.sbt` (label `dependencies`, which
`LABEL_STACKS` from #4640 maps to no-op) or no rule at all. A PR that
only edits one of them skipped the scala stack — concrete example: PR
#4649, labels `dependencies, fix, frontend, release/v1.1.0-incubating`,
union `{frontend}`, no scala. `service` already maps to scala in
`LABEL_STACKS`, so the union picks up scala automatically.

**Workflow-adjacent / repo-wide config → `ci` label** (so the full
matrix runs):

- `.github/scripts/**` (CI helper scripts)
- `.github/labeler.yml` (the labeler config itself)
- `.asf.yaml` (branch protection rulesets, mailing list, GitHub
features)

These currently match no rule. `ci` already maps to all four stacks,
which is the right gate for changes that can affect every stack.

### Any related issues, documentation, discussions?

Closes #4653.

### How was this PR tested?

This PR's own labeler run picks up `ci` (it edits
`.github/labeler.yml`), so all stacks gate the change. After merge,
future PRs that only edit a root scala build file pick up `service`, and
PRs editing `.github/scripts/**`, `.github/labeler.yml`, or `.asf.yaml`
pick up `ci`.

### Was this PR authored or co-authored using generative AI tooling?

Generated-by: Claude Opus 4.7

(backported from commit 5c7dac8)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

fix release/v1.1.0-incubating back porting to release/v1.1.0-incubating

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Labeler gaps: root scala build files and workflow-adjacent / repo configs map to no CI stack

2 participants