Skip to content

Commit

Permalink
fix(parsing): Check for CODEOWNERS files for both GitHub and GitLab
Browse files Browse the repository at this point in the history
  • Loading branch information
heaths committed Oct 18, 2024
1 parent 01f12d1 commit efa205e
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 1 deletion.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Changelog

## Unreleased

### Bug Fixes

* Check for `CODEOWNERS` file according to both [GitHub](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners#codeowners-file-location) and [GitLab](https://docs.gitlab.com/ee/user/project/codeowners/#codeowners-file) documentation ([#44](https://github.com/hairyhenderson/go-codeowners/issues/44))

## [0.6.0](https://github.com/hairyhenderson/go-codeowners/compare/v0.5.0...v0.6.0) (2024-09-27)


Expand Down
2 changes: 1 addition & 1 deletion codeowners.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ func dirExists(fsys fs.FS, path string) (bool, error) {
func findCodeownersFile(fsys fs.FS, wd string) (io.Reader, string, error) {
dir := wd
for {
for _, p := range []string{".", "docs", ".github", ".gitlab"} {
for _, p := range []string{".github", ".", "docs", ".gitlab"} {
pth := path.Join(dir, p)
exists, err := dirExists(fsys, pth)
if err != nil {
Expand Down
11 changes: 11 additions & 0 deletions codeowners_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,9 @@ func TestFindCodeownersFile(t *testing.T) {
"src/.github/CODEOWNERS": &fstest.MapFile{Data: []byte(sample)},
"src/foo/CODEOWNERS": &fstest.MapFile{Data: []byte(sample2)},
"src/foo/qux/docs/CODEOWNERS": &fstest.MapFile{Data: []byte(sample3)},
"src/bar/CODEOWNERS": &fstest.MapFile{Data: []byte(sample2)},
"src/bar/.github/CODEOWNERS": &fstest.MapFile{Data: []byte(sample)},
"src/bar/.gitlab/CODEOWNERS": &fstest.MapFile{Data: []byte(sample3)},
}

r, root, err := findCodeownersFile(fsys, "src")
Expand Down Expand Up @@ -191,6 +194,14 @@ func TestFindCodeownersFile(t *testing.T) {
r, _, err = findCodeownersFile(fsys, ".")
require.NoError(t, err)
assert.Nil(t, r)

r, root, err = findCodeownersFile(fsys, "src/bar")
require.NoError(t, err)
assert.NotNil(t, r)
assert.Equal(t, "src/bar", root)

b, _ = io.ReadAll(r)
assert.Equal(t, sample, string(b))
}

func co(pattern string, owners []string) Codeowner {
Expand Down

0 comments on commit efa205e

Please sign in to comment.