Skip to content

Commit 95fd9c2

Browse files
committed
Mention including T-lang/adding correct labels.
1 parent d86128e commit 95fd9c2

File tree

1 file changed

+33
-23
lines changed

1 file changed

+33
-23
lines changed

procedures/crates.md

Lines changed: 33 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,13 @@ request.
9494
Recommendations for working with out-of-tree crates will be documented in the rustc-guide, see
9595
[rust-lang/rustc-guide#285][guide_issue] for progress.
9696

97+
### How should stabilization/semantic changes be handled in out-of-tree crates?
98+
It is important to involve the language team in any changes in out-of-tree crates that would result
99+
in stabilization or semantic changes to the language. Submodule changes in PRs to `rust-lang/rust`
100+
should be labelled appropriately (eg. `relnotes`, `T-compiler`, `T-lang`) just as if the change
101+
were implemented in `rust-lang/rust` directly, include a description of the changes when it is not
102+
obvious to those unfamiliar with the compiler or the out-of-tree crate.
103+
97104
[licenses]: https://github.com/rust-lang/rust/blob/master/src/tools/tidy/src/deps.rs#L10-L19
98105
[guide_issue]: https://github.com/rust-lang/rustc-guide/issues/285
99106

@@ -107,30 +114,33 @@ In summary, the process for establishing an out-of-tree crate is as follows:
107114
[`@rfcbot merge`](https://github.com/anp/rfcbot-rs#usage) to gain agreement from compiler
108115
team members.
109116
1. Create a new repository in the `rust-lang` organization.
110-
1. Navigate to `Settings > Collaborators & Teams` and add the `Compiler` team with write
111-
privileges and `Assignees` with `read`.
112-
1. Add a README describing the intended purpose of the crate, which team and working group are
113-
responsible (link to their page in this repository) and the intended level of maintenance and
114-
stability.
115-
116-
> This crate is developed and maintained by the [Rust compiler team](..) for use within
117-
> `rustc`, in particular, it is the responsibility of the
118-
> [`.template`](../working-groups/.template) working group. This crate [will have regular
119-
> breaking changes and provides no stability guarantees|is intended to remain stable and have
120-
> limited breaking changes].
121-
1. Include the [LICENSE-APACHE][apache] and [LICENSE-MIT][mit] files from `rust-lang/rust`.
122-
1. Include or link the [CODE_OF_CONDUCT][coc] file from `rust-lang/rust`.
123-
1. Create a relevant `.gitignore` ([here's a sane default][gitignore]).
124-
1. Create `P-high`, `P-med`, `P-low`, `I-nominated` and `T-compiler` labels.
125-
1. Consult with the infrastructure team to set up `@bors` and `@rust-highfive` and a process for
117+
1. Navigate to `Settings > Collaborators & Teams` and add the `Compiler` team with write
118+
privileges and `Assignees` with `read`.
119+
- Individuals that are not part of the team can be added where appropriate.
120+
1. Add a README describing the intended purpose of the crate, which team and working group are
121+
responsible (link to their page in this repository) and the intended level of maintenance and
122+
stability.
123+
124+
> This crate is developed and maintained by the [Rust compiler team](..) for use within
125+
> `rustc`, in particular, it is the responsibility of the
126+
> [`.template`](../working-groups/.template) working group. This crate [will have regular
127+
> breaking changes and provides no stability guarantees|is intended to remain stable and have
128+
> limited breaking changes].
129+
1. Include the [LICENSE-APACHE][apache] and [LICENSE-MIT][mit] files from `rust-lang/rust`.
130+
1. Include or link the [CODE_OF_CONDUCT][coc] file from `rust-lang/rust`.
131+
1. Create a relevant `.gitignore` ([here's a sane default][gitignore]).
132+
1. Create `P-high`, `P-med`, `P-low`, `I-nominated` and `T-compiler` labels.
133+
1. Consult with the infrastructure team to set up `@rust-highfive` and a process for
126134
publishing under the "The Rust Project Developers" crates.io account.
127-
1. Add a basic `.travis.yml`:
128-
129-
```yaml
130-
language: rust
131-
rust:
132-
- stable
133-
```
135+
1. Add a basic `.travis.yml`:
136+
137+
```yaml
138+
language: rust
139+
rust:
140+
- stable
141+
```
142+
- `@bors` is not normally used for out-of-tree crates, GitHub's built-in merge facilities can
143+
be used instead.
134144
1. Perform any initial development required before integration with rustc.
135145
1. Publish initial version, following semantic versioning.
136146
1. Add the crate as a dependency to the appropriate in-tree crate and start using.

0 commit comments

Comments
 (0)