Skip to content

OWNERS: sync master to release-8.5 - #70406

Closed
ti-chi-bot wants to merge 0 commit into
release-8.5from
bot/sync-owners-to-release-8.5
Closed

ti-chi-bot wants to merge 0 commit into
release-8.5from
bot/sync-owners-to-release-8.5

Conversation

@ti-chi-bot

@ti-chi-bot ti-chi-bot commented Aug 10, 2026

Copy link
Copy Markdown
Member

What problem does this PR solve?

Sync OWNERS* files from master to release-8.5.

What changed and how does it work?

This PR was auto-generated by Prow and only updates OWNERS and OWNERS_ALIASES files.

/release-note-none
skip-issue-check
lgtm
approved
cherry-pick-approved

Summary by CodeRabbit

  • Chores
    • Standardized code ownership rules across the repository with path-specific approval and review assignments.
    • Added shared ownership groups and updated membership mappings.
    • Added coverage for build configuration files and specialized directories.
    • Removed obsolete ownership configurations and retired an unused approval group.
    • Preserved relevant labels and introduced more targeted approval requirements for critical files.

@ti-chi-bot ti-chi-bot added approved cherry-pick-approved Cherry pick PR approved by release team. lgtm skip-issue-check Indicates that a PR no need to check linked issue. labels Aug 10, 2026
@ti-chi-bot

ti-chi-bot Bot commented Aug 10, 2026

Copy link
Copy Markdown

Adding the "do-not-merge/release-note-label-needed" label because no release-note block was detected, please follow our release note process to remove it.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@ti-chi-bot ti-chi-bot Bot added do-not-merge/release-note-label-needed Indicates that a PR should not merge because it's missing one of the release note labels. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. component/dumpling This is related to Dumpling of TiDB. sig/planner SIG: Planner and removed approved labels Aug 10, 2026
@coderabbitai

coderabbitai Bot commented Aug 10, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The PR replaces static ownership lists with path-based OWNERS filters. It adds SIG Community aliases, assigns community approval to BUILD.bazel files, preserves package-specific ownership, and adds targeted rules for critical files.

Changes

Ownership migration

Layer / File(s) Summary
Alias and root ownership updates
OWNERS, OWNERS_ALIASES
Root ownership now uses filters. Alias membership adds community, dependency, statistics, and metrics groups and removes the obsolete disttask alias.
Path filters for existing packages
br/OWNERS, dumpling/OWNERS, lightning/**/OWNERS, pkg/{autoid_service,bindinfo,config,ddl,distsql,domain,expression,infoschema,lightning,lock,meta,owner,parser,planner,resourcemanager,statistics,table,tablecodec}/OWNERS
BUILD.bazel files use sig-community-approvers. Other paths retain package-specific approvers and labels.
New package ownership boundaries
pkg/{dumpformat,dxf,executor,ingestor,lightning/config,meta/metadef,metrics,objstore,sessionctx,vardef,sessionctx/variable,util/naming}/OWNERS
New OWNERS files define package-specific filters and disable parent-owner inheritance where specified.
Specialized file ownership rules
pkg/session/OWNERS
Session filters add approval rules for BUILD.bazel, bootstrap, upgrade, and critical ownership files. Ownership coverage changes from bootstrap.go to upgrade_def.go for the critical rule.

Estimated code review effort: 4 (Complex) | ~45 minutes

Possibly related issues

Possibly related PRs

  • pingcap/tidb#70391 — This PR modifies overlapping nested OWNERS files with the same BUILD.bazel approval pattern.

Suggested labels: component/build

Poem

A rabbit checks each BUILD file bright,
Community owners guide it right.
SIG aliases bloom in rows,
Package rules keep their proper toes.
Old static lists hop away,
Filtered ownership rules now stay.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description explains the synchronization but omits the required Issue Number, test checklist, side effects, documentation, and release note sections. Add the required template sections, including an Issue Number or approved exception, testing status, side effects, documentation impact, and release note.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the OWNERS synchronization from master to release-8.5.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch bot/sync-owners-to-release-8.5

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@pkg/executor/OWNERS`:
- Around line 8-10: Add a catch-all approver rule to the pkg/executor OWNERS
configuration using sig-approvers-executor, while preserving the existing
analyze.*\.go$ rule and no_parent_owners behavior so all otherwise-unmatched
executor files receive default coverage.

In `@pkg/sessionctx/vardef/OWNERS`:
- Around line 5-10: Add a catch-all approver rule to the OWNERS configuration
for files not matched by the existing BUILD.bazel or critical sysvar/tidb_vars
rule, using the intended package approver alias. Preserve the specialized
sig-critical-approvers-tidb-server rule unchanged and ensure the default pattern
matches all remaining files under pkg/sessionctx/vardef.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: f228d3f3-b6c9-4f35-afd5-16376d5a3814

📥 Commits

Reviewing files that changed from the base of the PR and between f5fa13c and acf9147.

📒 Files selected for processing (47)
  • OWNERS
  • OWNERS_ALIASES
  • br/OWNERS
  • br/pkg/storage/OWNERS
  • dumpling/OWNERS
  • lightning/OWNERS
  • lightning/cmd/tidb-lightning-ctl/OWNERS
  • lightning/cmd/tidb-lightning/OWNERS
  • pkg/autoid_service/OWNERS
  • pkg/bindinfo/OWNERS
  • pkg/config/OWNERS
  • pkg/ddl/OWNERS
  • pkg/distsql/OWNERS
  • pkg/disttask/OWNERS
  • pkg/domain/OWNERS
  • pkg/dumpformat/OWNERS
  • pkg/dxf/OWNERS
  • pkg/executor/OWNERS
  • pkg/executor/aggfuncs/OWNERS
  • pkg/executor/aggregate/OWNERS
  • pkg/executor/importer/OWNERS
  • pkg/executor/join/OWNERS
  • pkg/executor/mppcoordmanager/OWNERS
  • pkg/executor/sortexec/OWNERS
  • pkg/executor/test/analyzetest/OWNERS
  • pkg/executor/unionexec/OWNERS
  • pkg/expression/OWNERS
  • pkg/infoschema/OWNERS
  • pkg/ingestor/OWNERS
  • pkg/lightning/OWNERS
  • pkg/lightning/config/OWNERS
  • pkg/lock/OWNERS
  • pkg/meta/OWNERS
  • pkg/meta/metadef/OWNERS
  • pkg/metrics/OWNERS
  • pkg/objstore/OWNERS
  • pkg/owner/OWNERS
  • pkg/parser/OWNERS
  • pkg/planner/OWNERS
  • pkg/resourcemanager/OWNERS
  • pkg/session/OWNERS
  • pkg/sessionctx/vardef/OWNERS
  • pkg/sessionctx/variable/OWNERS
  • pkg/statistics/OWNERS
  • pkg/table/OWNERS
  • pkg/tablecodec/OWNERS
  • pkg/util/naming/OWNERS
💤 Files with no reviewable changes (2)
  • br/pkg/storage/OWNERS
  • pkg/disttask/OWNERS

Comment thread pkg/executor/OWNERS Outdated
Comment on lines +8 to +10
"analyze.*\\.go$":
approvers:
- sig-approvers-stats

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== files =="
git ls-files 'pkg/executor/OWNERS' 'pkg/executor/aggfuncs/OWNERS' 'pkg/executor/aggregate/OWNERS' 'pkg/executor/*_*.go' 'pkg/executor/*.go' 2>/dev/null | sed -n '1,120p'

echo
echo "== pkg/executor OWNERS =="
if [ -f pkg/executor/OWNERS ]; then cat -n pkg/executor/OWNERS; fi

echo
echo "== sibling OWNERS snippets =="
for f in pkg/executor/aggfuncs/OWNERS pkg/executor/aggregate/OWNERS; do
  [ -f "$f" ] && { echo "--- $f"; cat -n "$f"; }
done

echo
echo "== root-level execute go filters/search =="
python3 - <<'PY'
import pathlib, re
root = pathlib.Path('pkg/executor')
files = sorted([p for p in root.iterdir() if p.is_file() and p.name.endswith('.go')])
patterns = {
    'BUILD.bazel': re.compile(r'^BUILD\.bazel$'),
    'analyze.*\.go$': re.compile(r'^analyze.*\.go$'),
}
for f in files:
    hits = [k for k,v in patterns.items() if v.search(f.name)]
    print(f.name, hits or ["NO_FILTER"])
PY

Repository: pingcap/tidb

Length of output: 10550


🌐 Web query:

kubernetes owners no_parent_owners filter matching parent directories OWNERS file

💡 Result:

In Kubernetes, the no_parent_owners option is used within an OWNERS file to control inheritance of reviewer and approver permissions from parent directories [1][2]. When set to true, no_parent_owners excludes all parent OWNERS files from having any influence over files adjacent to or underneath the directory where that OWNERS file is located [1][2][3]. By default, if the option is not present, it is treated as false, meaning the configuration inherits permissions from parent directories as usual [1][2]. Key aspects of this feature include: - Functionality: It enables scenarios where a nested OWNERS file needs to completely override or isolate the permissions of its parent directories, effectively "breaking" the inheritance chain for that path [1][2]. - Configuration: It is specified within an options map in the OWNERS file [1][2]. - Interaction with Filters: The options key (including no_parent_owners) is permitted at the top level of the OWNERS file, even when using the filters key [1][2]. While other owner-related keys like approvers and reviewers must be placed inside the filters block, the options configuration remains an exception and is defined outside of it [1][2]. - Implementation: This logic is processed by Prow's repoowners package, which traverses the directory structure and stops inheriting permissions from higher levels once it encounters a directory where no_parent_owners is enabled [3]. Common use cases include locking down specific directories to prevent broader organizational or root-level owners from having automatic approval authority over sensitive code [4][5][6].

Citations:


Add default approver coverage for pkg/executor.

no_parent_owners: true prevents upstream OWNERS fallback. With only BUILD.bazel and root-level analyze*.go filters, the remaining pkg/executor/*.go files have no matching approver group. Since sibling pkg/executor/aggfuncs/OWNERS and pkg/executor/aggregate/OWNERS use sig-approvers-executor for catch-all coverage, add the same default rule here.

Proposed fix
   "analyze.*\\.go$":
     approvers:
       - sig-approvers-stats
+  ".*":
+    approvers:
+      - sig-approvers-executor
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"analyze.*\\.go$":
approvers:
- sig-approvers-stats
"analyze.*\\.go$":
approvers:
- sig-approvers-stats
".*":
approvers:
- sig-approvers-executor
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pkg/executor/OWNERS` around lines 8 - 10, Add a catch-all approver rule to
the pkg/executor OWNERS configuration using sig-approvers-executor, while
preserving the existing analyze.*\.go$ rule and no_parent_owners behavior so all
otherwise-unmatched executor files receive default coverage.

Source: MCP tools

Comment thread pkg/sessionctx/vardef/OWNERS Outdated
Comment on lines +5 to +10
"(^|/)BUILD\\.bazel$":
approvers:
- sig-community-approvers
"(OWNERS|(sysvar|tidb_vars)\\.go)$":
approvers:
- sig-critical-approvers-tidb-server

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Add a default approver rule.

Line 3 disables parent ownership. The current filters do not match other files in pkg/sessionctx/vardef/. Changes to those files will have no approvers.

Add a " .* " equivalent catch-all filter with the intended package approver alias. The specialized rule must remain for the critical files.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pkg/sessionctx/vardef/OWNERS` around lines 5 - 10, Add a catch-all approver
rule to the OWNERS configuration for files not matched by the existing
BUILD.bazel or critical sysvar/tidb_vars rule, using the intended package
approver alias. Preserve the specialized sig-critical-approvers-tidb-server rule
unchanged and ensure the default pattern matches all remaining files under
pkg/sessionctx/vardef.

@codecov

codecov Bot commented Aug 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (release-8.5@f5fa13c). Learn more about missing BASE report.

Additional details and impacted files
@@               Coverage Diff                @@
##             release-8.5     #70406   +/-   ##
================================================
  Coverage               ?   42.9554%           
================================================
  Files                  ?        221           
  Lines                  ?      41848           
  Branches               ?          0           
================================================
  Hits                   ?      17976           
  Misses                 ?      21441           
  Partials               ?       2431           
Flag Coverage Δ
integration 42.9554% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

Components Coverage Δ
dumpling ∅ <0.0000%> (?)
parser ∅ <0.0000%> (?)
br 42.9554% <0.0000%> (?)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ti-chi-bot ti-chi-bot closed this Aug 13, 2026
@ti-chi-bot
ti-chi-bot force-pushed the bot/sync-owners-to-release-8.5 branch from acf9147 to 2a2b259 Compare August 13, 2026 06:24
@ti-chi-bot ti-chi-bot Bot added size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. and removed size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Aug 13, 2026
@ti-chi-bot

ti-chi-bot Bot commented Aug 13, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

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

Labels

cherry-pick-approved Cherry pick PR approved by release team. component/dumpling This is related to Dumpling of TiDB. do-not-merge/release-note-label-needed Indicates that a PR should not merge because it's missing one of the release note labels. lgtm sig/planner SIG: Planner size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. skip-issue-check Indicates that a PR no need to check linked issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant