Skip to content

Commit 10d4fbd

Browse files
committed
Document relabel aliases
1 parent 918d706 commit 10d4fbd

File tree

2 files changed

+48
-0
lines changed

2 files changed

+48
-0
lines changed

src/release/issue-triaging.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,10 @@ Triagebot needs to support `@rustbot label: xxx` usages terminated with a period
190190
- Check existing labels to make sure you're not duplicating them.
191191
- Discuss in <https://rust-lang.zulipchat.com/#narrow/channel/242269-t-release.2Ftriage/topic/New.20labels> if the new label may be non-conventional or controversial. Leave a comment about the new label as an FYI for others.
192192

193+
### Label aliases
194+
195+
Multiple labels can be added or removed in a single blow using *aliases*. Please visit the [relevant documentation][label-aliases] to learn more about aliases.
196+
193197
### Relnotes issues
194198

195199
Release note issues will currently come with `needs-triage` by default. The triage for relnotes is usually best done if you have sufficient context. Leave them as-is if you don't.
@@ -255,6 +259,7 @@ Another useful thing to do is to go through `E-needs-mcve` and `E-needs-bisectio
255259
[`relnotes`]: https://github.com/rust-lang/rust/labels/relnotes
256260
[`metabug`]: https://github.com/rust-lang/rust/labels/metabug
257261
[relnotes issue example]: https://github.com/rust-lang/rust/issues/137132
262+
[label-aliases]: ../triagebot/labeling.html
258263

259264
[^1]: The `O` in `O-*` labels originally stood for *operating system (OS)*.
260265
[^2]: The `I` in `I-*` labels originally stood for *importance*. This makes the most sense for the `I-*-nominated` labels. For most `I-*` labels however it makes sense to interpret the `I` as *issue (kind)*.

src/triagebot/labeling.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,15 @@ Some examples:
1515
* `@rustbot label A-diagnostics A-macros`
1616
* `@rustbot label +T-lang -T-compiler` --- Removes `T-compiler` and adds `T-lang`.
1717

18+
Labels are parsed from left to right and then applied by grouping *adding* labels and *removing* labels. Example:
19+
```
20+
# this command ...
21+
@rustbot label +Alpaca -Bench -Carlo +Esteban +Dwight
22+
23+
# ... will be executed as:
24+
@rustbot label +Alpaca +Esteban +Dwight -Bench -Carlo
25+
```
26+
1827
The syntax for the command is somewhat flexible, supporting a few different forms to suit your pleasure.
1928
Some examples of variants you can use:
2029

@@ -81,6 +90,40 @@ allow-unauthenticated = [
8190
]
8291
```
8392

93+
The configuration also supports aliases, a single *word* that is expanded in a set of labels allowing setting multiple labels with a single command, useful when adding or removing the same set of labels over and over. To configure an alias, add to the triagebot the following item:
94+
```toml
95+
[relabel.alias-name]
96+
add-labels = ["Foo", "Bar"]
97+
rem-labels = ["Baz"]
98+
```
99+
100+
`add-labels` and `rem-labels` and arrays of labels that the alias will expand to. For example, given the above configuration:
101+
```
102+
# the command
103+
@rustbot label alias-name
104+
105+
# translates to
106+
@rustbot label +Foo +Bar -Baz
107+
```
108+
109+
Aliases can also be *negative*, inverting the effect:
110+
```
111+
# this command
112+
@rustbot label -cmd-alias
113+
114+
# translates to
115+
@rustbot label +Baz -Foo -Bar
116+
```
117+
118+
You can also mix labels and aliases. Self-canceling labels will be omitted:
119+
```
120+
# this command
121+
@rustbot label cmd-alias +Baz
122+
123+
# translates to:
124+
@rustbot label +Foo +Bar
125+
```
126+
84127
## Implementation
85128

86129
See [`src/handlers/relabel.rs`](https://github.com/rust-lang/triagebot/blob/HEAD/src/handlers/relabel.rs).

0 commit comments

Comments
 (0)