Skip to content

Clarification on unowned_globs #137

@ltamrazov

Description

@ltamrazov

Hi,

We are unable to make use of the unowned_globs functionality on a team level as outlined int his feature: #117.

I'm wondering if we are doing something wrong.

I created a repo to reproduce our issue here:
https://github.com/ltamrazov/codeownership_test

The config in the repo is below. Basically:

  • Backend owns all app/controllers (app/controllers/**/*) EXCEPT domain/subdomain which is at the same time owned by Frontend (app/controllers/domain/subdomain/**/*).

However when I run validation, I get:

/Users/levon.tamrazov/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/code_ownership-1.38.3/lib/code_ownership/private.rb:61:in `validate!': `owned_globs` cannot overlap between teams. The following globs overlap: (CodeOwnership::InvalidCodeOwnershipConfigurationError)

- `app/controllers/**/*` (from `config/teams/backend.yml`), `app/controllers/domain/subdomain/**/*` (from `config/teams/frontend.yml`)

Why is this showing up as an overlap if I'm excluding it via unowned_globs?

Thank you!

owned_globs:
  - "app/**/*.rb"
  - "app/**/*.js"
js_package_paths: []
unowned_globs:
  - "README.md"
  - "Gemfile"
  - "Gemfile.lock"
 ---
name: Frontend
github:
  team: "@example/frontend"
owned_globs:
  - "app/assets/**/*"
  - "app/controllers/domain/subdomain/**/*"
 ---
name: Backend
github:
  team: "@example/backend"
unowned_globs:
- "app/controllers/domain/subdomain/**/*"
owned_globs:
  - "app/models/**/*"
  - "app/controllers/**/*"

Metadata

Metadata

Assignees

No one assigned

    Labels

    triageA new issue that needs review by the core team

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions