Skip to content
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

Target tier policy #2803

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

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading