Skip to content

Commit 22fa860

Browse files
committed
Clarify required approvals for target promotions, demotions and removals between different tiers
1 parent 16c1a06 commit 22fa860

File tree

1 file changed

+54
-16
lines changed

1 file changed

+54
-16
lines changed

src/compiler/proposals-and-stabilization.md

Lines changed: 54 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -253,21 +253,66 @@ circumstance.
253253

254254
### Targets
255255

256+
See the [Target Tier Policy][tier_policy] for detailed requirements for different Target Tiers.
257+
258+
#### Promoting targets
259+
260+
Quick overview for target promotions:
261+
262+
| Current target tier | Goal target tier | Proposal | Required approvals |
263+
|------------------------------|------------------|----------|---------------------|
264+
| N/A (proposing a new target) | 3 | PR | r+ (compiler leads) |
265+
| 3 | 2 | MCP | FCP |
266+
| 2 | 1 | RFC | FCP |
267+
256268
- Proposing a new target
257269
- **Propose using:** PR
258270
- **Approve using:** r+ (compiler leads)
259271
- You can `r? compiler_leads` on the PR to roll one of the compiler leads as the reviewer.
260272
- Open a PR with the new target (w/ relevant documentation updates) and document adherence to the
261-
[target tier policy][tier_policy] in the description. New targets must start as tier 3
262-
- New targets should be assigned to the compiler team co-leads to check for any licensing
263-
concerns
264-
- Promoting a target
273+
[target tier policy][tier_policy] in the description.
274+
- **New targets must start as Tier 3**.
275+
- New targets should be assigned to the compiler team co-leads to check for any licensing concerns
276+
and to ensure that any demands on the project infrastructure are considered and checked with
277+
relevant teams.
278+
- Promoting a target from Tier 3 to Tier 2
279+
- **Propose using:** MCP
280+
- **Approve using:** FCP
281+
- Open a MCP with the target and document adherence to the [Tier 2 target policy][tier_policy] in
282+
the description.
283+
- Promoting a target from Tier 2 to Tier 1
284+
- **Propose using:** RFC
285+
- **Approve using:** FCP
286+
- Open a RFC with the target and document adherence to the [Tier 1 target policy][tier_policy] in
287+
the RFC text.
288+
289+
#### Demoting or removing targets
290+
291+
Quick overview for target demotions and removals:
292+
293+
| Current target tier | Goal target tier | Proposal | Required approvals |
294+
|---------------------|--------------------------------|----------|---------------------|
295+
| 1 | 2 (or removal) | RFC | FCP |
296+
| 2 | 3 (or removal) | MCP | FCP |
297+
| 3 | N/A (removing a tier 3 target) | PR | r+ (compiler leads) |
298+
299+
- Demoting a target from Tier 1 to Tier 2, or removing a Tier 1 target
300+
- **Propose using:** RFC
301+
- **Approve using:** FCP
302+
- Open a RFC with the target and rationale.
303+
- Example: [RFC: Demote i686-pc-windows-gnu to Tier 2
304+
#3771](https://github.com/rust-lang/rfcs/pull/3771)
305+
- Demoting a target from Tier 2 to Tier 3, or removing a Tier 2 target
306+
- **Propose using:** MCP
307+
- **Approve using:** FCP
308+
- Open a MCP with the target and rationale.
309+
- Removing a Tier 3 target
265310
- **Propose using:** PR
266311
- **Approve using:** r+ (compiler leads)
267-
- Open a PR with the new target and document adherence to the [target tier policy][tier_policy]
268-
in the description
269-
- New targets should be assigned to the compiler team co-leads to ensure that any demands on
270-
the project infrastructure are considered and checked with relevant teams
312+
- Open a PR with the target and rationale for removing the Tier 3 target.
313+
314+
#### Other kind of target changes
315+
271316
- Renaming a target or making a breaking change to a tier 3 target
272317
- **Propose using:** PR
273318
- **Approve using:** r+
@@ -285,14 +330,6 @@ circumstance.
285330
- Open an RFC describing the motivation for the change and start an FCP to approve, start an FCP.
286331
- If approved, the change should be accompanied by a blog post announcing the change with a
287332
notice period of at least one release before the change applies.
288-
- Demoting/removing a target
289-
- **Propose using:** MCP
290-
- **Approve using:** FCP
291-
- Write an MCP describing why the target should be demoted/removed and once discussion has
292-
concluded, an FCP can be started to approve the demotion/removal.
293-
- If approved and affecting a tier 2 or tier 1 target, the change should be accompanied by a
294-
blog post announcing the change with a notice period of at least one release before the change
295-
applies.
296333
- Changing target baseline (e.g. minimum Darwin or Windows version bump)
297334
- **Propose using:** MCP
298335
- **Approve using:** FCP
@@ -376,3 +413,4 @@ See [*Adding ecosystem/integration test jobs/components to rust-lang/rust CI*](.
376413
[compiler_lint_eg]: https://doc.rust-lang.org/rustc/lints/listing/deny-by-default.html#explicit-builtin-cfgs-in-flags
377414
[ecosystem_testing]: https://rustc-dev-guide.rust-lang.org/tests/ecosystem.html
378415
[compiler-fcp]: https://github.com/rust-lang/team/blob/master/teams/compiler-fcp.toml
416+
[tier-1-target-policy]: https://doc.rust-lang.org/rustc/target-tier-policy.html#tier-1-target-policy

0 commit comments

Comments
 (0)