-
Notifications
You must be signed in to change notification settings - Fork 743
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
4 changed files
with
132 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Validating CODEOWNERS rules …
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
# Specify a default Code Owner by using a wildcard: | ||
* @default-codeowner | ||
|
||
/docs/ @all-docs | ||
|
||
[Development] @dev-team |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
# -*- coding: utf-8 -*- # | ||
# frozen_string_literal: true | ||
|
||
module Rouge | ||
module Lexers | ||
class Codeowners < RegexLexer | ||
title 'CODEOWNERS' | ||
desc 'Code Owners syntax (https://docs.gitlab.com/ee/user/project/codeowners/reference.html)' | ||
tag 'codeowners' | ||
filenames 'CODEOWNERS' | ||
|
||
state :root do | ||
rule %r/[ \t\r\n]+/, Text::Whitespace | ||
rule %r/^\s*#.*$/, Comment::Single | ||
|
||
rule %r( | ||
(\^?\[(?!\d+\])[^\]]+\]) | ||
(\[\d+\])? | ||
)x do | ||
groups Name::Namespace, Literal::Number | ||
end | ||
|
||
rule %r/\S*@\S+/, Name::Function | ||
|
||
rule %r/[\p{Word}\.\/\-\*]+/, Name | ||
rule %r/.*\\[\#\s]/, Name | ||
end | ||
end | ||
end | ||
end |
Validating CODEOWNERS rules …
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
# This is an example of a CODEOWNERS file. | ||
# Lines that start with `#` are ignored. | ||
|
||
# app/ @commented-rule | ||
|
||
# Specify a default Code Owner by using a wildcard: | ||
* @default-codeowner | ||
|
||
# Specify multiple Code Owners by using a tab or space: | ||
* @multiple @code @owners | ||
|
||
# Rules defined later in the file take precedence over the rules | ||
# defined before. | ||
# For example, for all files with a filename ending in `.rb`: | ||
*.rb @ruby-owner | ||
|
||
# Files with a `#` can still be accessed by escaping the pound sign: | ||
\#file_with_pound.rb @owner-file-with-pound | ||
|
||
# Specify multiple Code Owners separated by spaces or tabs. | ||
# In the following case the CODEOWNERS file from the root of the repo | ||
# has 3 Code Owners (@multiple @code @owners): | ||
CODEOWNERS @multiple @code @owners | ||
|
||
# You can use both usernames or email addresses to match | ||
# users. Everything else is ignored. For example, this code | ||
# specifies the `@legal` and a user with email `[email protected]` as the | ||
# owner for the LICENSE file: | ||
LICENSE @legal this_does_not_match [email protected] | ||
|
||
# Use group names to match groups, and nested groups to specify | ||
# them as owners for a file: | ||
README @group @group/with-nested/subgroup | ||
|
||
# End a path in a `/` to specify the Code Owners for every file | ||
# nested in that directory, on any level: | ||
/docs/ @all-docs | ||
|
||
# End a path in `/*` to specify Code Owners for every file in | ||
# a directory, but not nested deeper. This code matches | ||
# `docs/index.md` but not `docs/projects/index.md`: | ||
/docs/* @root-docs | ||
|
||
# Include `/**` to specify Code Owners for all subdirectories | ||
# in a directory. This rule matches `docs/projects/index.md` or | ||
# `docs/development/index.md` | ||
/docs/**/*.md @root-docs | ||
|
||
# This code makes matches a `lib` directory nested anywhere in the repository: | ||
lib/ @lib-owner | ||
|
||
# This code match only a `config` directory in the root of the repository: | ||
/config/ @config-owner | ||
|
||
# If the path contains spaces, escape them like this: | ||
path\ with\ spaces/ @space-owner | ||
|
||
# Code Owners section: | ||
[Documentation] | ||
ee/docs @docs | ||
docs @docs | ||
|
||
# Use of default owners for a section. In this case, all files (*) are owned by | ||
# the dev team except the README.md and data-models which are owned by other teams. | ||
[Development] @dev-team | ||
* | ||
README.md @docs-team | ||
data-models/ @data-science-team | ||
|
||
# This section is combined with the previously defined [Documentation] section: | ||
[DOCUMENTATION] | ||
README.md @docs | ||
|
||
# Required section | ||
[Section name] | ||
|
||
# Optional section | ||
^[Section name] | ||
|
||
# Section requiring 5 approvals | ||
[Section name][5] | ||
|
||
# Section with @username as default owner | ||
[Section name] @username | ||
|
||
# Section with @group and @subgroup as default owners and requiring 2 approvals | ||
[Section name][2] @group @subgroup |