-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Target tier policy #2803
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Target tier policy #2803
Changes from 1 commit
Commits
Show all changes
166 commits
Select commit
Hold shift + click to select a range
14a9c4f
Target tier policy
joshtriplett 2eb8f5f
Document where we should post the official target tier policy
joshtriplett 58240cf
Expand discussion of how to track and reach target maintainers
joshtriplett c883f5d
s/ports/targets/
joshtriplett a4e88d8
Clarify "broader ecosystem"
joshtriplett 13da5e1
Cover targets leaving portions of the standard library `unimplemented…
joshtriplett b3152e8
Add a note about the extent of tool support for targets
joshtriplett 178b102
Consistently use "target" rather than "platform"
joshtriplett 53628f8
Elaborate on "must not break any existing target"
joshtriplett f88d05a
Formatting improvements
joshtriplett 43b4891
Discuss alternative means of handling team consensus
joshtriplett 3a3b3f8
Explain subjective requirements like "substantial, widespread interest"
joshtriplett e52dac1
Rephrase link to platform support page, and provide link text
joshtriplett 159dbf1
Clarify approval of CI-related requirements.
joshtriplett 435cc9b
Update link to avoid redirect
joshtriplett 5a37367
Drop unnecessary parentheses
joshtriplett d33d656
Move note about posting this policy out of the guide-level explanation
joshtriplett 4a87994
Expand introduction for reference-level explanation
joshtriplett 22424e4
Consistently use more precise language "may contact" for contacting t…
joshtriplett 522d3a4
Make "at least 2 developers" a hard requirement for tier 2 targets
joshtriplett 8b52472
Clarify that new tier 2 targets must cross-compile
joshtriplett ea1549c
More precise language: s/shall/must/
joshtriplett b30bb08
Explain that targets may be temporarily disabled in nightlies
joshtriplett cc7c1a5
Explicitly define terms like "target development team"
joshtriplett 97620fa
Make it a hard requirement to document how to build and run tests
joshtriplett 7ec7ff1
Define "CI" on first use
joshtriplett 4dcf8d8
Note up front that the tier requirements are cumulative
joshtriplett 7d41f4e
Note up front about approving teams and subjective judgment
joshtriplett 395f5f1
Discuss baseline expectations for CPU features, OS versions/features,…
joshtriplett 523c8ea
Add a (subjective) requirement to not disable an excessive number of …
joshtriplett c32f79a
Add a tier 1 requirement discussing implementation of the standard li…
joshtriplett 1b28be0
Hard requirement to discuss changes to shared code with the compiler …
joshtriplett 29c6c5e
Meet the requirements before proposing the target
joshtriplett 39afc67
Clarifications about baseline expectations
joshtriplett 5f839e3
Tier 2 targets may be required to pass basic smoke tests
joshtriplett 2fdcfe1
Move approving teams out of the bullet lists of requirements
joshtriplett 3c0dc66
Move up the note about human judgment and "spirit of the requirements"
joshtriplett a067660
Update summary. Remove "objective". Actually summarize the RFC.
joshtriplett e43096a
Add precedents for tiered target support
joshtriplett 2ca6bf3
Elaborate on slow builds
joshtriplett f7f4c9e
Simplify explanation of building in CI
joshtriplett 8884f78
Reword and unify notes about where this policy will live
joshtriplett bf9aa88
Expand future possibilities
joshtriplett da57e47
Clarify requirements to provide build and test documentation
joshtriplett 1e98267
Add a missing comma
joshtriplett 0ccaaff
Move demotion/removal discussion out of bullet lists
joshtriplett d1f08f9
Note that tier 1 direct removal is highly unlikely
joshtriplett 571ab02
Minor wording clarification about naming consistency
joshtriplett 1c4bc2a
Change "on call" to "available"
joshtriplett e386c26
Clean up wording to be less colloquial
joshtriplett d2e86f5
Relocate a note about the target development team
joshtriplett c6dcb4e
Alternatives: concrete time requirements before introduction/promotion
joshtriplett ebdc7f0
Unify terminology towards "target maintainers" instead of "target dev…
joshtriplett 82f711b
Clarify "reviewers of pull requests"
joshtriplett 2290377
Consistently use "must" for requirements
joshtriplett 9ef6e86
Specify use of must/should/may language
joshtriplett 2889419
Even a tier 3 target should have target maintainers on record
joshtriplett dcb6344
Require a compiler-team reviewer for tier 3, not just any reviewer
joshtriplett 5fc80f8
Drop mention of appeals
joshtriplett d6458f6
Fix expansion of MCP, and reference it in tier 2 as well
joshtriplett 5b4393b
Suggest a full RFC for tier 1 target proposals
joshtriplett da1d1cf
Allow for infra reporting consensus via a team member
joshtriplett 3b6015c
Simplify some approval-related language
joshtriplett 5ed4ebc
Clarify what "as much of the standard library as possible" means
joshtriplett d732684
C calling convention
joshtriplett 1ff321e
Add legal and licensing requirements
joshtriplett 4e5acef
Reword summary of tiers for clarity
joshtriplett 751f396
A target should spend a reasonable amount of time at each tier
joshtriplett 027542f
Rephrase guidance on a reasonable amount of time
joshtriplett 21347b0
Clarify tier 2 requirement: niche targets are fine
joshtriplett 07c4f35
Document requirements for providing ways to run the target
joshtriplett 4572c26
Document requirement to not have safety-related deficiencies
joshtriplett 8eb74fa
Wording tweak about tier 2 targets passing tests
joshtriplett f81e0fb
Update requirement about designated developers
joshtriplett c9c51f4
Add RFC PR link
joshtriplett 444b6d8
Add note that targets require ongoing maintenance
joshtriplett a4aa114
Grammatical improvement
joshtriplett 4c70962
Encourage use of consistent naming conventions
joshtriplett f9ac528
Allow tier 3 code to omit *or* stub out code, as appropriate
joshtriplett d7a209d
Make sure the policy doesn't stifle discussions about tier 3 targets
joshtriplett 76b0684
Don't specifically refer to `unimplemented!()`
joshtriplett 900a5b2
Grammatical tweak: remove a "the"
joshtriplett 1d967a7
Add some samples of "onerous" license terms
joshtriplett 837a787
Add note about future legal review processes
joshtriplett bb708a0
Update some git branch names
joshtriplett 989776e
Link to Debian archive criteria source
joshtriplett e9154cc
Substantial expansion to cover host tools separately
joshtriplett 90f1b79
Separate out host tool transition steps from requirements
joshtriplett df12647
Clarify a legal requirement
joshtriplett a0da271
Modify requirement for cross-compilation support
joshtriplett c430135
Avoid redundantly restating approving teams within host tools require…
joshtriplett aaad0e4
Wording tweak for host tools
joshtriplett 2e97216
Targets and their tiers (including "with host tools") will be listed
joshtriplett e1be462
Clarification on target naming and disruption of renaming
joshtriplett ddbda1b
Move clarifiation of "onerous"
joshtriplett 408614e
Add sample smoke test `./x.py test --no-run`
joshtriplett 5247216
Mention target name ambiguity
joshtriplett d78eb1e
Clarify why naming is important even for a tier 3 target
joshtriplett d2fa76a
Mention the alternative possibility of renumbering tiers
joshtriplett f3ba93b
Simplify summary
joshtriplett 0a424a6
Clarify summary of tier 3 targets
joshtriplett 897c3e2
Clarify promotion timing requirements
joshtriplett 3ceaa79
Timing of changes that might break targets
joshtriplett 1d5a8fc
Elaborate a bit on co-evolving targets
joshtriplett f505fcd
Note that cross-compiling the testsuite is OK
joshtriplett 220ce56
Mention "development platform" and "compilation target"
joshtriplett dc652a0
Clarify that demotion of a tier 1 target requires a full RFC
joshtriplett 14948a0
Discussion demotion of tier 1 targets with host tools
joshtriplett b48aa51
Clarify that, for a demotion, a target must still meet the lower-tier…
joshtriplett a5c8469
Allow tier 1 targets to raise their baseline without a full RFC
joshtriplett 2f7df80
Add some notes to help avoid conflicts of interest
joshtriplett bf3ddb6
Add expectations about emulation accuracy
joshtriplett 0697637
Add further discussion and requirements regarding performance conside…
joshtriplett 5558409
Document prior art for how to track and contact target maintainers
joshtriplett c996aea
Adjust language about alloc to avoid prescriptive policy about alloca…
joshtriplett 4509ce9
Clarify requirements about signing, and apply it to all tier 1 targets
joshtriplett fcb6ce6
Minor rewording of references to requirements of other tiers
joshtriplett 7a6261a
Improve clarity of tier 2 summary
joshtriplett d63374a
Provide some information about "host tools" when first mentioned
joshtriplett d1d29ec
Sync wording between the start of the guide-level and reference-level…
joshtriplett 97ce961
Require documentation of limitations to appear in the target tier list
joshtriplett 2d5a397
Fix typo ("of providing of")
joshtriplett d3f9f29
Slightly soften a "should"
joshtriplett a36998b
Document what happens if the compiler's safety properties broaden
joshtriplett e840d51
Demotion or removal will be communicated to the target maintainers
joshtriplett 55d3c0c
Fix duplicated phrase
joshtriplett e60be23
Expand language about safety properties; narrow to soundness issues
joshtriplett 86a25a4
Add requirements to not substantially raise the maintenance burden of CI
joshtriplett 5bd47d1
Clarification on tier 1 with host tools as evaluated by the release team
joshtriplett 10f3d18
Clarification on tier 1 as evaluated by the release team
joshtriplett 7740056
Update tier 2 requirement about not blocking PRs to match tier 3 lang…
joshtriplett 1df1714
Make requirements about unwanted messages more strict
joshtriplett 0f25999
Add some subjectivity regarding communications of target demotion/rem…
joshtriplett afd1240
Allow for targets implementing std without having a full OS
joshtriplett f41e114
Clarify tier 3 requirement about breaking other tier 3 targets
joshtriplett 39c73e8
Drop "new" as a qualifier for rules intended to apply to existing tar…
joshtriplett ba9d93e
Clarify recusal
joshtriplett d23c1ae
Minor wording tweaks in future possibilities
joshtriplett db9e8e6
Future possibilities: Document scope and potential communication impr…
joshtriplett be98dd6
Fix spacing
joshtriplett 3350356
Allow for revocable agreements for signing keys
joshtriplett c174268
Require that signing processes be available to others as well
joshtriplett a870b01
Allow signing-related agreements to involve a nominal fee
joshtriplett 65f5148
Drop "new" qualifier on requirement to allow developers to run their …
joshtriplett 71ce094
Simplify language about developers running their own binaries
joshtriplett 548de23
Ensure that developers can give binaries to others, as well
joshtriplett d6c6f1f
Document availability requirements for CI and non-CI resources
joshtriplett c1f669b
Expand target maintainer team size for tier 1
joshtriplett 376adda
Change "their documentation" to just "documentation"
joshtriplett 39e3299
Change "may" to "should" in note that we should audit existing targets
joshtriplett f21ed77
Expand text about auditing existing targets
joshtriplett f6d1a37
Change "long-term viability" to just "viability", and combine with "v…
joshtriplett d747f54
Expand discussion about documenting subjective requirements
joshtriplett 919da1a
For communications, add "whether the target has been part of a stable…
joshtriplett 8fb49e1
Add some discussion about target tier stability guarantees
joshtriplett 40ed9f8
Make C interoperability a "must" at tier 2
joshtriplett c394f76
Add an exception allowing non-implementation of std in specific cases
joshtriplett da764cd
Add a missing "tier 3" qualifier on a tier 3 requirement
joshtriplett 9f793b9
Clarify that infra is not personally responsible for signing legal ag…
joshtriplett 8e3e9c3
Update URL for platform support page
joshtriplett 0ee5875
Promotion/demotion doesn't typically affect past releases
joshtriplett bf5f44e
Qualify mentions of CI to include all components Rust's CI considers …
joshtriplett d13349e
Clarify the work associated with tier 2 and tier 1 targets
joshtriplett 1979ced
Clarify use of issues to track requirements
joshtriplett ac31771
Document that raising baselines should be widely communicated
joshtriplett 7c1b640
Don't hardcode the path to one source file in tidy
joshtriplett File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Move approving teams out of the bullet lists of requirements
This helps ensure that the bullet lists contain only requirements, so that they can be used as checklists, and quoted for point-by-point explanations within target proposals.
- Loading branch information
commit 2fdcfe1992742e5b0225330882ebf59e5442acab
There are no files selected for viewing
This file contains hidden or 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
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.