Skip to content

Introduce CODEOWNERS for path-based reviewer routing #11466

@rapsealk

Description

@rapsealk

Background

lablup/backend.ai currently has no .github/CODEOWNERS file. External and new contributors have no programmatic way to know who reviews changes in a given area, and PRs are not auto-routed to an appropriate reviewer.

A review of the last 50 merged PRs shows that the active human reviewer pool is exactly the @lablup/core_dev team (achimnol, jopemachine, HyeockJinKim, fregataa, seedspirit):

Reviewer Reviews on last 50 PRs In @lablup/core_dev
HyeockJinKim 24
jopemachine 13
seedspirit 10
fregataa 6
achimnol (long-term architect)

So @lablup/core_dev is not a theoretical option — it's a precise codification of who already reviews PRs.

Proposal

Introduce .github/CODEOWNERS as advisory (auto-request reviewers, not branch-protection-required) using @lablup/core_dev as the default owner.

Variant A — team handle (recommended)

*    @lablup/core_dev

Pros:

  • Stable across personnel changes (re-member the team, don't edit the file).
  • GitHub Code review assignment on core_dev can round-robin a single reviewer per PR instead of pinging all 5.
  • If branch protection is later wired to require CODEOWNERS approval, @lablup/core_dev is the right gating entity.

Caveats:

  • Requires Code review assignment to be enabled on the team — otherwise every PR auto-requests all 5 members. Verify this is set before merging.
  • For team-based owners, GitHub requires the team to have at least Read access to the repo (already true: core_dev has access to 216 repos in the org).

Variant B — explicit individuals

*    @achimnol @HyeockJinKim @jopemachine @fregataa @seedspirit

Pros:

  • No dependency on team configuration; works identically for org members and external viewers.
  • File explicitly names current maintainers (visible without org membership).

Caveats:

  • Requires editing the file when membership changes.
  • All 5 individuals get auto-requested per PR (no built-in round-robin), increasing notification volume for them — unless we manually pare the list.

Out of scope (clarification)

CODEOWNERS does not replace these existing workflows:

  • .github/labeler.yml — path-based label application
  • .github/workflows/* — labeler / size-label / dependabot workflows

Those should remain as-is.

Tasks

  • Decide between Variant A (team) and Variant B (individuals)
  • If Variant A: confirm Code review assignment setting on @lablup/core_dev
  • Add .github/CODEOWNERS
  • Add a news fragment under changes/
  • Verify auto-reviewer-request works on a sample PR
  • Decide later (separate issue) whether to enforce via branch protection — likely only for src/ai/backend/manager and src/ai/backend/common first

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions