@@ -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