├── .github
├── ISSUE_TEMPLATE
│ ├── -core-team-only--difficult-with-nuance.md
│ ├── -core-team-only--initiative.md
│ ├── -core-team-only--periodic-checkin.md
│ └── -core-team-only--urgent-issues.md
└── workflows
│ └── sync.yml
├── CODE_OF_CONDUCT.md
├── LICENSE-APACHE
├── LICENSE-MIT
├── README.md
├── automation
├── message-invalid.md
├── message-valid.md
├── new-issues.py
└── sync-project.py
└── minutes
├── core-team
└── meetings.md
└── project-leadership-sync
├── 2019-07-10.md
├── 2019-07-17.md
├── 2019-07-24.md
├── 2019-07-31.md
├── 2019-08-07.md
├── 2019-08-14.md
├── 2019-08-28.md
├── 2019-09-12.md
├── 2019-09-25.md
├── 2019-10-09.md
├── 2019-10-23.md
├── 2019-11-06.md
├── 2019-11-20.md
├── 2019-12-04.md
├── 2019-12-18.md
└── README.md
/.github/ISSUE_TEMPLATE/-core-team-only--difficult-with-nuance.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: "[CORE TEAM ONLY] Difficult with nuance"
3 | about: Difficult issue that will require extensive discussion to be resolved.
4 | title: ''
5 | labels: A-difficult-with-nuance, M-triage
6 | assignees: ''
7 |
8 | ---
9 |
10 |
11 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/-core-team-only--initiative.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: "[CORE TEAM ONLY] Initiative"
3 | about: Initiative the team is working on.
4 | title: ''
5 | labels: A-initiative, M-triage
6 | assignees: ''
7 |
8 | ---
9 |
10 |
11 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/-core-team-only--periodic-checkin.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: "[CORE TEAM ONLY] Periodic checkin"
3 | about: Items which we periodically check in on at a slower timeline (i.e. stuff that's
4 | blocked externally).
5 | title: ''
6 | labels: A-periodic-checkins, M-triage
7 | assignees: ''
8 |
9 | ---
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/-core-team-only--urgent-issues.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: "[CORE TEAM ONLY] Urgent issues"
3 | about: Urgent problem that should be handled as soon as possible.
4 | title: ''
5 | labels: A-urgent-problem, M-triage
6 | assignees: ''
7 |
8 | ---
9 |
10 |
11 |
--------------------------------------------------------------------------------
/.github/workflows/sync.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | name: Agenda
4 | on:
5 | issues:
6 | types: [opened, deleted, transferred, closed, reopened, labeled, unlabeled]
7 |
8 | jobs:
9 | handle:
10 | name: Handle
11 | runs-on: ubuntu-latest
12 | steps:
13 | - uses: actions/checkout@v2
14 | with:
15 | fetch-depth: 1
16 |
17 | - name: Comment on new issues
18 | run: python3 automation/new-issues.py rust-lang/core-team $ISSUE_NUMBER
19 | if: github.event.action == 'opened'
20 | env:
21 | GITHUB_TOKEN: ${{ github.token }}
22 | ISSUE_NUMBER: ${{ github.event.issue.number }}
23 |
24 | - name: Update the agenda project board (private)
25 | run: GITHUB_TOKEN=$TOKEN python3 automation/sync-project.py rust-lang 5 core-team
26 | env:
27 | TOKEN: ${{ secrets.TOKEN }}
28 |
--------------------------------------------------------------------------------
/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
1 | # The Rust Code of Conduct
2 |
3 | A version of this document [can be found online](https://www.rust-lang.org/conduct.html).
4 |
5 | ## Conduct
6 |
7 | **Contact**: [rust-mods@rust-lang.org](mailto:rust-mods@rust-lang.org)
8 |
9 | * We are committed to providing a friendly, safe and welcoming environment for all, regardless of level of experience, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, nationality, or other similar characteristic.
10 | * On IRC, please avoid using overtly sexual nicknames or other nicknames that might detract from a friendly, safe and welcoming environment for all.
11 | * Please be kind and courteous. There's no need to be mean or rude.
12 | * Respect that people have differences of opinion and that every design or implementation choice carries a trade-off and numerous costs. There is seldom a right answer.
13 | * Please keep unstructured critique to a minimum. If you have solid ideas you want to experiment with, make a fork and see how it works.
14 | * We will exclude you from interaction if you insult, demean or harass anyone. That is not welcome behavior. We interpret the term "harassment" as including the definition in the Citizen Code of Conduct; if you have any lack of clarity about what might be included in that concept, please read their definition. In particular, we don't tolerate behavior that excludes people in socially marginalized groups.
15 | * Private harassment is also unacceptable. No matter who you are, if you feel you have been or are being harassed or made uncomfortable by a community member, please contact one of the channel ops or any of the [Rust moderation team][mod_team] immediately. Whether you're a regular contributor or a newcomer, we care about making this community a safe place for you and we've got your back.
16 | * Likewise any spamming, trolling, flaming, baiting or other attention-stealing behavior is not welcome.
17 |
18 | ## Moderation
19 |
20 |
21 | These are the policies for upholding our community's standards of conduct. If you feel that a thread needs moderation, please contact the [Rust moderation team][mod_team].
22 |
23 | 1. Remarks that violate the Rust standards of conduct, including hateful, hurtful, oppressive, or exclusionary remarks, are not allowed. (Cursing is allowed, but never targeting another user, and never in a hateful manner.)
24 | 2. Remarks that moderators find inappropriate, whether listed in the code of conduct or not, are also not allowed.
25 | 3. Moderators will first respond to such remarks with a warning.
26 | 4. If the warning is unheeded, the user will be "kicked," i.e., kicked out of the communication channel to cool off.
27 | 5. If the user comes back and continues to make trouble, they will be banned, i.e., indefinitely excluded.
28 | 6. Moderators may choose at their discretion to un-ban the user if it was a first offense and they offer the offended party a genuine apology.
29 | 7. If a moderator bans someone and you think it was unjustified, please take it up with that moderator, or with a different moderator, **in private**. Complaints about bans in-channel are not allowed.
30 | 8. Moderators are held to a higher standard than other community members. If a moderator creates an inappropriate situation, they should expect less leeway than others.
31 |
32 | In the Rust community we strive to go the extra step to look out for each other. Don't just aim to be technically unimpeachable, try to be your best self. In particular, avoid flirting with offensive or sensitive issues, particularly if they're off-topic; this all too often leads to unnecessary fights, hurt feelings, and damaged trust; worse, it can drive people away from the community entirely.
33 |
34 | And if someone takes issue with something you said or did, resist the urge to be defensive. Just stop doing what it was they complained about and apologize. Even if you feel you were misinterpreted or unfairly accused, chances are good there was something you could've communicated better — remember that it's your responsibility to make your fellow Rustaceans comfortable. Everyone wants to get along and we are all here first and foremost because we want to talk about cool technology. You will find that people will be eager to assume good intent and forgive as long as you earn their trust.
35 |
36 | The enforcement policies listed above apply to all official Rust venues; including official IRC channels (#rust, #rust-internals, #rust-tools, #rust-libs, #rustc, #rust-beginners, #rust-docs, #rust-community, #rust-lang, and #cargo); GitHub repositories under rust-lang, rust-lang-nursery, and rust-lang-deprecated; and all forums under rust-lang.org (users.rust-lang.org, internals.rust-lang.org). For other projects adopting the Rust Code of Conduct, please contact the maintainers of those projects for enforcement. If you wish to use this code of conduct for your own project, consider explicitly mentioning your moderation policy or making a copy with your own moderation policy so as to avoid confusion.
37 |
38 | *Adapted from the [Node.js Policy on Trolling](http://blog.izs.me/post/30036893703/policy-on-trolling) as well as the [Contributor Covenant v1.3.0](https://www.contributor-covenant.org/version/1/3/0/).*
39 |
40 | [mod_team]: https://www.rust-lang.org/team.html#Moderation-team
41 |
--------------------------------------------------------------------------------
/LICENSE-APACHE:
--------------------------------------------------------------------------------
1 | Apache License
2 | Version 2.0, January 2004
3 | http://www.apache.org/licenses/
4 |
5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6 |
7 | 1. Definitions.
8 |
9 | "License" shall mean the terms and conditions for use, reproduction,
10 | and distribution as defined by Sections 1 through 9 of this document.
11 |
12 | "Licensor" shall mean the copyright owner or entity authorized by
13 | the copyright owner that is granting the License.
14 |
15 | "Legal Entity" shall mean the union of the acting entity and all
16 | other entities that control, are controlled by, or are under common
17 | control with that entity. For the purposes of this definition,
18 | "control" means (i) the power, direct or indirect, to cause the
19 | direction or management of such entity, whether by contract or
20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
21 | outstanding shares, or (iii) beneficial ownership of such entity.
22 |
23 | "You" (or "Your") shall mean an individual or Legal Entity
24 | exercising permissions granted by this License.
25 |
26 | "Source" form shall mean the preferred form for making modifications,
27 | including but not limited to software source code, documentation
28 | source, and configuration files.
29 |
30 | "Object" form shall mean any form resulting from mechanical
31 | transformation or translation of a Source form, including but
32 | not limited to compiled object code, generated documentation,
33 | and conversions to other media types.
34 |
35 | "Work" shall mean the work of authorship, whether in Source or
36 | Object form, made available under the License, as indicated by a
37 | copyright notice that is included in or attached to the work
38 | (an example is provided in the Appendix below).
39 |
40 | "Derivative Works" shall mean any work, whether in Source or Object
41 | form, that is based on (or derived from) the Work and for which the
42 | editorial revisions, annotations, elaborations, or other modifications
43 | represent, as a whole, an original work of authorship. For the purposes
44 | of this License, Derivative Works shall not include works that remain
45 | separable from, or merely link (or bind by name) to the interfaces of,
46 | the Work and Derivative Works thereof.
47 |
48 | "Contribution" shall mean any work of authorship, including
49 | the original version of the Work and any modifications or additions
50 | to that Work or Derivative Works thereof, that is intentionally
51 | submitted to Licensor for inclusion in the Work by the copyright owner
52 | or by an individual or Legal Entity authorized to submit on behalf of
53 | the copyright owner. For the purposes of this definition, "submitted"
54 | means any form of electronic, verbal, or written communication sent
55 | to the Licensor or its representatives, including but not limited to
56 | communication on electronic mailing lists, source code control systems,
57 | and issue tracking systems that are managed by, or on behalf of, the
58 | Licensor for the purpose of discussing and improving the Work, but
59 | excluding communication that is conspicuously marked or otherwise
60 | designated in writing by the copyright owner as "Not a Contribution."
61 |
62 | "Contributor" shall mean Licensor and any individual or Legal Entity
63 | on behalf of whom a Contribution has been received by Licensor and
64 | subsequently incorporated within the Work.
65 |
66 | 2. Grant of Copyright License. Subject to the terms and conditions of
67 | this License, each Contributor hereby grants to You a perpetual,
68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69 | copyright license to reproduce, prepare Derivative Works of,
70 | publicly display, publicly perform, sublicense, and distribute the
71 | Work and such Derivative Works in Source or Object form.
72 |
73 | 3. Grant of Patent License. Subject to the terms and conditions of
74 | this License, each Contributor hereby grants to You a perpetual,
75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76 | (except as stated in this section) patent license to make, have made,
77 | use, offer to sell, sell, import, and otherwise transfer the Work,
78 | where such license applies only to those patent claims licensable
79 | by such Contributor that are necessarily infringed by their
80 | Contribution(s) alone or by combination of their Contribution(s)
81 | with the Work to which such Contribution(s) was submitted. If You
82 | institute patent litigation against any entity (including a
83 | cross-claim or counterclaim in a lawsuit) alleging that the Work
84 | or a Contribution incorporated within the Work constitutes direct
85 | or contributory patent infringement, then any patent licenses
86 | granted to You under this License for that Work shall terminate
87 | as of the date such litigation is filed.
88 |
89 | 4. Redistribution. You may reproduce and distribute copies of the
90 | Work or Derivative Works thereof in any medium, with or without
91 | modifications, and in Source or Object form, provided that You
92 | meet the following conditions:
93 |
94 | (a) You must give any other recipients of the Work or
95 | Derivative Works a copy of this License; and
96 |
97 | (b) You must cause any modified files to carry prominent notices
98 | stating that You changed the files; and
99 |
100 | (c) You must retain, in the Source form of any Derivative Works
101 | that You distribute, all copyright, patent, trademark, and
102 | attribution notices from the Source form of the Work,
103 | excluding those notices that do not pertain to any part of
104 | the Derivative Works; and
105 |
106 | (d) If the Work includes a "NOTICE" text file as part of its
107 | distribution, then any Derivative Works that You distribute must
108 | include a readable copy of the attribution notices contained
109 | within such NOTICE file, excluding those notices that do not
110 | pertain to any part of the Derivative Works, in at least one
111 | of the following places: within a NOTICE text file distributed
112 | as part of the Derivative Works; within the Source form or
113 | documentation, if provided along with the Derivative Works; or,
114 | within a display generated by the Derivative Works, if and
115 | wherever such third-party notices normally appear. The contents
116 | of the NOTICE file are for informational purposes only and
117 | do not modify the License. You may add Your own attribution
118 | notices within Derivative Works that You distribute, alongside
119 | or as an addendum to the NOTICE text from the Work, provided
120 | that such additional attribution notices cannot be construed
121 | as modifying the License.
122 |
123 | You may add Your own copyright statement to Your modifications and
124 | may provide additional or different license terms and conditions
125 | for use, reproduction, or distribution of Your modifications, or
126 | for any such Derivative Works as a whole, provided Your use,
127 | reproduction, and distribution of the Work otherwise complies with
128 | the conditions stated in this License.
129 |
130 | 5. Submission of Contributions. Unless You explicitly state otherwise,
131 | any Contribution intentionally submitted for inclusion in the Work
132 | by You to the Licensor shall be under the terms and conditions of
133 | this License, without any additional terms or conditions.
134 | Notwithstanding the above, nothing herein shall supersede or modify
135 | the terms of any separate license agreement you may have executed
136 | with Licensor regarding such Contributions.
137 |
138 | 6. Trademarks. This License does not grant permission to use the trade
139 | names, trademarks, service marks, or product names of the Licensor,
140 | except as required for reasonable and customary use in describing the
141 | origin of the Work and reproducing the content of the NOTICE file.
142 |
143 | 7. Disclaimer of Warranty. Unless required by applicable law or
144 | agreed to in writing, Licensor provides the Work (and each
145 | Contributor provides its Contributions) on an "AS IS" BASIS,
146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147 | implied, including, without limitation, any warranties or conditions
148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149 | PARTICULAR PURPOSE. You are solely responsible for determining the
150 | appropriateness of using or redistributing the Work and assume any
151 | risks associated with Your exercise of permissions under this License.
152 |
153 | 8. Limitation of Liability. In no event and under no legal theory,
154 | whether in tort (including negligence), contract, or otherwise,
155 | unless required by applicable law (such as deliberate and grossly
156 | negligent acts) or agreed to in writing, shall any Contributor be
157 | liable to You for damages, including any direct, indirect, special,
158 | incidental, or consequential damages of any character arising as a
159 | result of this License or out of the use or inability to use the
160 | Work (including but not limited to damages for loss of goodwill,
161 | work stoppage, computer failure or malfunction, or any and all
162 | other commercial damages or losses), even if such Contributor
163 | has been advised of the possibility of such damages.
164 |
165 | 9. Accepting Warranty or Additional Liability. While redistributing
166 | the Work or Derivative Works thereof, You may choose to offer,
167 | and charge a fee for, acceptance of support, warranty, indemnity,
168 | or other liability obligations and/or rights consistent with this
169 | License. However, in accepting such obligations, You may act only
170 | on Your own behalf and on Your sole responsibility, not on behalf
171 | of any other Contributor, and only if You agree to indemnify,
172 | defend, and hold each Contributor harmless for any liability
173 | incurred by, or claims asserted against, such Contributor by reason
174 | of your accepting any such warranty or additional liability.
175 |
176 | END OF TERMS AND CONDITIONS
177 |
178 | APPENDIX: How to apply the Apache License to your work.
179 |
180 | To apply the Apache License to your work, attach the following
181 | boilerplate notice, with the fields enclosed by brackets "[]"
182 | replaced with your own identifying information. (Don't include
183 | the brackets!) The text should be enclosed in the appropriate
184 | comment syntax for the file format. We also recommend that a
185 | file or class name and description of purpose be included on the
186 | same "printed page" as the copyright notice for easier
187 | identification within third-party archives.
188 |
189 | Copyright [yyyy] [name of copyright owner]
190 |
191 | Licensed under the Apache License, Version 2.0 (the "License");
192 | you may not use this file except in compliance with the License.
193 | You may obtain a copy of the License at
194 |
195 | http://www.apache.org/licenses/LICENSE-2.0
196 |
197 | Unless required by applicable law or agreed to in writing, software
198 | distributed under the License is distributed on an "AS IS" BASIS,
199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200 | See the License for the specific language governing permissions and
201 | limitations under the License.
202 |
--------------------------------------------------------------------------------
/LICENSE-MIT:
--------------------------------------------------------------------------------
1 | Permission is hereby granted, free of charge, to any
2 | person obtaining a copy of this software and associated
3 | documentation files (the "Software"), to deal in the
4 | Software without restriction, including without
5 | limitation the rights to use, copy, modify, merge,
6 | publish, distribute, sublicense, and/or sell copies of
7 | the Software, and to permit persons to whom the Software
8 | is furnished to do so, subject to the following
9 | conditions:
10 |
11 | The above copyright notice and this permission notice
12 | shall be included in all copies or substantial portions
13 | of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
16 | ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
17 | TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
18 | PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
19 | SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
22 | IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23 | DEALINGS IN THE SOFTWARE.
24 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # core-team
2 |
3 | This repository is a place to store minutes, notes, and other
4 | documents created by the core team.
5 |
--------------------------------------------------------------------------------
/automation/message-invalid.md:
--------------------------------------------------------------------------------
1 | Thanks for opening the issue!
2 |
3 | This repo serves as a record of the Core Team's public agenda, and for now only members of the Core Team are allowed to open issues here. If you want a topic to be raised during the triage meeting, please get in touch with the Core Team by emailing core-team@rust-lang.org.
4 |
--------------------------------------------------------------------------------
/automation/message-valid.md:
--------------------------------------------------------------------------------
1 | This issue is an item on the Core Team's public agenda, and the team will discuss it every week during the triage meeting. The goal of the issue is to provide a public record of our discussion, so only members of the Core Team are allowed to comment here.
2 |
3 | Please get in touch with the Core Team by emailing core-team@rust-lang.org if you have something to add!
4 |
--------------------------------------------------------------------------------
/automation/new-issues.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # Copyright (c) 2020 Pietro Albini
3 | #
4 | # Permission is hereby granted, free of charge, to any person obtaining a copy
5 | # of this software and associated documentation files (the "Software"), to deal
6 | # in the Software without restriction, including without limitation the rights
7 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | # copies of the Software, and to permit persons to whom the Software is
9 | # furnished to do so, subject to the following conditions:
10 | #
11 | # The above copyright notice and this permission notice shall be included in
12 | # all copies or substantial portions of the Software.
13 | #
14 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 | # SOFTWARE.
21 |
22 | import os
23 | import pathlib
24 | import requests
25 | import sys
26 |
27 |
28 | SCRIPT_DIR = pathlib.Path(__file__).resolve().parent
29 |
30 |
31 | def can_open_issues(client, repo, username):
32 | resp = client.get(f"https://api.github.com/repos/{repo}/collaborators/{username}")
33 | return resp.status_code == 204
34 |
35 |
36 | def handle_new_issue(client, repo, number):
37 | resp = client.get(f"https://api.github.com/repos/{repo}/issues/{number}")
38 | resp.raise_for_status()
39 | issue = resp.json()
40 |
41 | allowed = can_open_issues(client, repo, issue["user"]["login"])
42 |
43 | # Leave a comment explaining what's happening.
44 | if allowed:
45 | comment_body = (SCRIPT_DIR / "message-valid.md").open().read()
46 | else:
47 | comment_body = (SCRIPT_DIR / "message-invalid.md").open().read()
48 | resp = client.post(f"https://api.github.com/repos/{repo}/issues/{number}/comments", json={
49 | "body": comment_body,
50 | })
51 | resp.raise_for_status()
52 |
53 | # Close the issue.
54 | if not allowed:
55 | resp = client.patch(f"https://api.github.com/repos/{repo}/issues/{number}", json={
56 | "state": "closed",
57 | })
58 | resp.raise_for_status()
59 |
60 | # Always lock the issues.
61 | resp = client.put(f"https://api.github.com/repos/{repo}/issues/{number}/lock")
62 | resp.raise_for_status()
63 |
64 | # Prevent the next GitHub Actions steps from running
65 | if not allowed:
66 | exit(1)
67 |
68 |
69 | if __name__ == "__main__":
70 | github_token = os.environ["GITHUB_TOKEN"]
71 | repo = sys.argv[1]
72 | issue_number = int(sys.argv[2])
73 |
74 | client = requests.Session()
75 | client.headers.update({
76 | "Authorization": f"token {github_token}",
77 | "User-Agent": "https://github.com/rust-lang/core-team automation",
78 | })
79 |
80 | handle_new_issue(client, repo, issue_number)
81 |
--------------------------------------------------------------------------------
/automation/sync-project.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # Copyright (c) 2020 Pietro Albini
3 | #
4 | # Permission is hereby granted, free of charge, to any person obtaining a copy
5 | # of this software and associated documentation files (the "Software"), to deal
6 | # in the Software without restriction, including without limitation the rights
7 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | # copies of the Software, and to permit persons to whom the Software is
9 | # furnished to do so, subject to the following conditions:
10 | #
11 | # The above copyright notice and this permission notice shall be included in
12 | # all copies or substantial portions of the Software.
13 | #
14 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 | # SOFTWARE.
21 |
22 | # This script automatically synchronizes issues in a GitHub repository with an
23 | # organization's project board. To configure synchronization, add a note to the
24 | # column you want to sync with the following content:
25 | #
26 | # **automation**
27 | # repo: REPOSITORY_NAME
28 | # label: LABEL_NAME
29 | #
30 |
31 | import json
32 | import os
33 | import requests
34 | import sys
35 |
36 |
37 | # Fetch all the contents of an organization board
38 | BOARD_QUERY = """
39 | query($org: String!, $project: Int!) {
40 | organization(login: $org) {
41 | project(number: $project) {
42 | columns(first: 100) {
43 | nodes {
44 | databaseId
45 | cards(first: 100, archivedStates: NOT_ARCHIVED) {
46 | nodes {
47 | databaseId
48 | note
49 | content {
50 | ... on PullRequest {
51 | number
52 | }
53 | ... on Issue {
54 | number
55 | } } } } } } } } }
56 | """
57 |
58 |
59 | class Column:
60 | def __init__(self, id):
61 | self.id = id
62 | self.notes = []
63 | self.issues = []
64 |
65 | def automated_label(self, repo):
66 | for note in self.notes:
67 | lines = note.text.split('\n')
68 | if not lines or lines[0].strip() != "**automation**":
69 | continue
70 |
71 | try:
72 | kv = {}
73 | for line in lines[1:]:
74 | key, value = line.split(':', 1)
75 | kv[key.strip()] = value.strip()
76 | if kv["repo"] == repo:
77 | return kv["label"]
78 | except (KeyError, ValueError):
79 | continue
80 |
81 |
82 | class NoteCard:
83 | def __init__(self, card_id, text):
84 | self.card_id = card_id
85 | self.text = text
86 |
87 |
88 | class IssueCard:
89 | def __init__(self, card_id, issue_id):
90 | self.card_id = card_id
91 | self.issue_id = issue_id
92 |
93 |
94 | class Issue:
95 | def __init__(self, id, number):
96 | self.id = id
97 | self.number = number
98 |
99 |
100 | def fetch_project(client, org, project):
101 | query = client.post("https://api.github.com/graphql", data=json.dumps({
102 | "query": BOARD_QUERY,
103 | "variables": {
104 | "org": org,
105 | "project": project,
106 | },
107 | })).json()
108 |
109 | columns = []
110 | for raw_column in query["data"]["organization"]["project"]["columns"]["nodes"]:
111 | column = Column(raw_column["databaseId"])
112 | for card in raw_column["cards"]["nodes"]:
113 | if card["note"] is not None:
114 | column.notes.append(NoteCard(card["databaseId"], card["note"]))
115 | if card["content"] is not None:
116 | column.issues.append(IssueCard(card["databaseId"], card["content"]["number"]))
117 | columns.append(column)
118 |
119 | return columns
120 |
121 |
122 | def fetch_issues(client, org, repo, label):
123 | response = client.get(
124 | f"https://api.github.com/repos/{org}/{repo}/issues?labels={label}&state=open&per_page=100"
125 | ).json()
126 |
127 | issues = []
128 | for issue in response:
129 | issues.append(Issue(issue["id"], issue["number"]))
130 | return issues
131 |
132 |
133 | def create_issue_card(client, column_id, issue_id):
134 | response = client.post(f"https://api.github.com/projects/columns/{column_id}/cards", data=json.dumps({
135 | "content_id": issue_id,
136 | "content_type": "Issue",
137 | }), headers={
138 | "Accept": "application/vnd.github.inertia-preview+json"
139 | })
140 | if response.status_code != 201:
141 | print(f"failed to add issue {issue_id} to column {column_id} (HTTP status {response.status_code})")
142 | print(response.text)
143 | exit(1)
144 |
145 |
146 | def remove_card(client, card_id):
147 | response = client.delete(f"https://api.github.com/projects/columns/cards/{card_id}", headers={
148 | "Accept": "application/vnd.github.inertia-preview+json"
149 | })
150 | if response.status_code != 204:
151 | print(f"failed to remove card {card_id} (HTTP status {response.status_code})")
152 | print(response.text)
153 | exit(1)
154 |
155 |
156 | def synchronize(client, org, project, current_repo):
157 | to_add = []
158 |
159 | columns = fetch_project(client, org, project)
160 | for column in columns:
161 | label = column.automated_label(current_repo)
162 | if label is None:
163 | continue
164 |
165 | current_issues = {card.issue_id: card.card_id for card in column.issues}
166 | issues = fetch_issues(client, org, current_repo, label)
167 |
168 | for issue in issues:
169 | if issue.number in current_issues:
170 | del current_issues[issue.number]
171 | else:
172 | # The GitHub API returns an error if we try to add an issue
173 | # multiple times to the same project board.
174 | #
175 | # If an issue is moved from a column processed later to a
176 | # column processed earlier we'd add the new card before we
177 | # remove the old one, causing an error on GitHub's side.
178 | #
179 | # To work around the problem we first process all the
180 | # deletions, and process the additions later.
181 | to_add.append((column, issue))
182 | for issue_number, card_id in current_issues.items():
183 | print(f"removing issue {issue_number} from the board")
184 | remove_card(client, card_id)
185 |
186 | for column, issue in to_add:
187 | print(f"adding issue {issue.number} to the board")
188 | create_issue_card(client, column.id, issue.id)
189 |
190 |
191 | if __name__ == "__main__":
192 | token = os.environ["GITHUB_TOKEN"]
193 | org = sys.argv[1]
194 | project = int(sys.argv[2])
195 | repo = sys.argv[3]
196 |
197 | client = requests.Session()
198 | client.headers.update({
199 | "Authorization": f"token {token}"
200 | })
201 |
202 | synchronize(client, org, project, repo)
203 |
--------------------------------------------------------------------------------
/minutes/core-team/meetings.md:
--------------------------------------------------------------------------------
1 | # Core Team Meetings
2 |
3 | The Core team is conducting an experiment to record ‘non-sensitive’ parts of Core team triage meetings (where we cover current topics of relevance to the core team and track our actions on them) and sharing them with the community on the Rust YouTube channel to provide greater transparency into how we work.
4 |
5 | The posting of these recordings will potentially lag by up to a month, and we’re not currently committing to doing a recording every meeting. We will endeavor to post an update here at most a month after every meeting either with a recording or an indication that there will not be one forthcoming (and ideally a reason why).
6 |
7 | Please file issues or email core-team at rust-lang.org with any questions.
8 |
9 | ---
10 |
11 | * [2019-05-08](https://youtu.be/yL5_QddgOmQ)
12 | * 2019-05-15 - Did not record due to technical difficulties.
13 | * [2019-05-22](https://youtu.be/aFzSfNOpK0Y)
14 | * [2019-05-29](https://youtu.be/lnHBa-uEAYI)
15 | * [2019-06-05](https://youtu.be/E3I77CiG2fM)
16 | * [2019-06-12](https://youtu.be/nDsdAG4wxhA)
17 | * 2019-06-19 - Meeting cancelled due to a number of conflicts.
18 | * 2019-06-26 - Did not record due to technical difficulties.
19 | * 2019-07-03 - Discussed sensitive topics during the entire meeting.
20 | * [2019-07-10](https://youtu.be/tnUxXDIxpRk)
21 | * 2019-07-17 - Only a few people were able to attend so nothing substantive was discussed.
22 | * 2019-07-24 - Meeting cancelled due to a number of conflicts.
23 | * 2019-07-31 - Did not record due to technical difficulties.
24 | * 2019-08-07 - Discussed sensitive topics during the entire meeting.
25 | * [2019-08-14](https://youtu.be/0U9gN62eCvU)
26 | * 2019-08-21 - Did not meet due to RustConf.
27 | * 2019-09-06 - Did not record due to technical difficulties.
28 | * 2019-09-13 - Only a few people were able to attend so nothing substantive was discussed.
29 | * 2019-09-20 - Did not record due to technical difficulties.
30 | * [2019-09-27](https://youtu.be/ZSDsrxV-mog)
31 | * [2019-10-04](https://youtu.be/4xgyyA5FT_0)
32 | * 2019-10-11 - Did not meet due to a number of conflicts.
33 | * 2019-10-18 - Did not meet due to Rust Belt Rust and other conflicts.
34 | * [2019-10-23](https://youtu.be/ZQ_lRe-zCWk)
35 | * [2019-10-30](https://youtu.be/i8TkdADZpO4)
36 | * [2019-11-06](https://youtu.be/ElyOeAXZMDs)
37 | * [2019-11-13](https://youtu.be/m5UkX2XFswI)
38 | * [2019-11-20](https://youtu.be/jySXgvMFcKI)
39 | * [2019-11-27](https://youtu.be/603ETPXf_6o)
40 | * [2019-12-04](https://youtu.be/2-Rubo9Zr3E)
41 | * [2019-12-11](https://youtu.be/08gvVkahGrc)
42 | * 2019-12-18 - Only a few people were able to attend so nothing substantive was discussed.
43 | * 2019-12-25 - Cancelled because of the holiday.
44 | * 2020-01-01 - Cancelled because of the holiday.
45 | * 2020-01-08 - Did not record due to technical difficulties.
46 | * 2020-01-15 - Did not record due to technical difficulties.
47 | * [2020-01-22](https://youtu.be/dOXe3Qc5u6w)
48 | * 2020-01-29 - Discussed sensitive topics during the entire meeting.
49 | * 2020-02-05 - Discussed sensitive topics during the entire meeting.
50 | * [2020-02-12](https://youtu.be/17Y_FZzxWXo)
51 | * [2020-02-19](https://youtu.be/QSLdtlwCUFs)
52 | * [2020-02-26](https://youtu.be/-Go_upxELvc)
53 | * 2020-03-04 - Did not record due to technical difficulties.
54 | * [2020-03-11](https://youtu.be/zyuycHlMdiI)
55 | * [2020-03-18](https://youtu.be/CFoN_2jmW1E)
56 | * [2020-03-25](https://youtu.be/RbRPkjvAceg)
57 | * [2020-04-01](https://youtu.be/P97kkIv0xSU)
58 | * [2020-04-08](https://youtu.be/fV9agy3JZ3o)
59 | * 2020-04-15 - Did not record due to technical difficulties.
60 | * [2020-04-22](https://youtu.be/dh2wcLcV0C8)
61 | * [2020-04-29](https://youtu.be/lcbHTdgfpW8)
62 | * [2020-05-07](https://youtu.be/9yklK3mk_O4)
63 | * [2020-05-14](https://youtu.be/VTbR_obJAEQ)
64 | * [2020-05-21](https://youtu.be/uO_XKHOmXJY)
65 | * [2020-05-28](https://youtu.be/2gFSiMyJrK4)
66 | * [2020-06-04](https://youtu.be/cjcHdhfWhoo)
67 | * [2020-06-11](https://youtu.be/Ho7hULtpJx4)
68 | * [2020-06-18](https://youtu.be/-77uMW4mWY0)
69 | * [2020-06-25](https://youtu.be/XD9jtTYQlEE)
70 | * [2020-07-02](https://youtu.be/hjsw6dIg2gg)
71 | * [2020-07-09](https://youtu.be/hvBsFEipcuw)
72 | * [2020-07-16](https://youtu.be/nTYfL53VJQ4)
73 | * [2020-07-23](https://youtu.be/ebxwXXLhRoQ)
74 | * [2020-07-30](https://youtu.be/4kkGzuQ0tN0)
75 | * [2020-08-06](https://youtu.be/CbGrB61GUsQ)
76 | * [2020-08-13](https://youtu.be/hGYRFhK3akM)
77 | * [2020-08-19](https://youtu.be/XFDvBzEcv_k)
78 | * [2020-08-26](https://youtu.be/J0SsTiO3sog)
79 | * [2020-09-02](https://youtu.be/yPjpizA68d4)
80 | * [2020-09-09](https://youtu.be/GICIDHOgkd8)
81 |
--------------------------------------------------------------------------------
/minutes/project-leadership-sync/2019-07-10.md:
--------------------------------------------------------------------------------
1 | # Rust Project Sync Meeting
2 |
3 | ## Instructions
4 |
5 | Prior to or during the meeting, jot down a few notes for your team. When it comes time to speak, it is best to focus on **upcoming** or **future plans**, in particular those that may have a cross-cutting nature.
6 |
7 | If you have private remarks that you don't want to be in the minutes, feel free to just write nothing or to write something like "private remarks".
8 |
9 | Since we don't have a lot of time per team, please avoid getting into the details. Ping the speaker after the meeting if you want to follow-up with questions.
10 |
11 | Feel free to add more announcements than those you plan to speak about out loud. For example, you might jot down notable developments from the week.
12 |
13 | At the end of each meeting, we will lightly edit these minutes as needed and then copy them into a repository, clearing this document for the next week.
14 |
15 | ## Teams
16 |
17 | ### Core team - Ashley, Niko
18 |
19 | * this meeting!
20 | * private remarks
21 |
22 | ### Community team -- Florian
23 |
24 | * We're busy with handling translations for the website
25 | * community@ is getting a little more traffic this week
26 |
27 | ### Compiler team (nikomatsakis)
28 |
29 | Spoken:
30 |
31 | * niko, felix will both be away for several weeks.
32 | * nagisa is going to run triage meetings while we are away.
33 | * we would really like to have a "team blog" to help us publicize work
34 | * we have a few folks (niko, felix, mw) taking extended breaks -- should we have a Rust team "PTO" calendar?
35 | * we are having trouble with triage; this was discussed in a [meeting last week][compiler1] where we discussed how to share efforts with WG-triage in the release team. Summary:
36 | * maybe triage team can help with assessing which are the highest priority problems to fix
37 | * compiler ICE-breakers team focused more on fixing
38 | * extending the "expert map" to help in assigning work
39 | * we've been thinking for some time about some kind of ["help wanted"][compiler2] thread to help in recruitment, especically for high priority bugs or less conventional tasks (e.g. organizational), but haven't executed. Might overlap with something like the 'find work' site.
40 |
41 | Unspoken:
42 |
43 | * shout out to whoever made `rfcbot claim` work, that is super useful
44 |
45 | [compiler1]: https://github.com/rust-lang/compiler-team/blob/master/minutes/design-meeting/2019-07-08-triage-wg.md
46 | [compiler2]: https://github.com/rust-lang/compiler-team/issues/77
47 |
48 | ### crates.io team - Justin Geibel (filling in for Sean)
49 |
50 | * Scheduling a meeting for next week to sync on the roadmap
51 | * Focus on growing the team, especially around ops
52 |
53 | ### dev tools team - Manish
54 |
55 | * slow work on cargo clippy improvements
56 | * changelogs!!
57 |
58 | ### doc team -- steveklabnik
59 |
60 | * private remarks
61 |
62 | ### lang team (nikomatsakis)
63 |
64 | Spoken:
65 |
66 | * private remarks (impl trait retrospective)
67 |
68 | Other updates:
69 |
70 | * async expected to ship in 1.38, [current blockers](https://github.com/rust-lang/rust/labels/AsyncAwait-Blocking)
71 | *
72 |
73 | ### library team - alexcrichton
74 |
75 | * Minor stabilizations
76 | * Nothing major to report
77 |
78 | ### moderation team
79 |
80 | * Absent this week
81 |
82 | ### release team - Mark (simulacrum)
83 | * wg-triage in process of forming, ~14 (new!) people onboarded
84 | * initial focus on PR triage, then moving to issues on rust-lang/rust
85 |
86 | ### infra team - Pietro Albini
87 |
88 | * Progress has been made on the Azure Pipelines migration
89 | * Bot posting error messages is now up and running :tada:
90 | * Work on getting 4 core machines is underway
91 | * There is still no clear information on capacity for other repos, but we should be close
92 | * Other private remarks
93 |
94 | ### cli domain wg - Pascal (killercup)
95 |
96 | * meetings and work continues, little of project-wide concern
97 | * push cli book to doc.rust-lang.org? docs/infra/release team?
98 |
99 | ### embedded domain wg (James Munns)
100 |
101 | * Starting our trial move to Matrix from Mozilla IRC
102 | * Process detailed in [these ops notes](https://github.com/rust-embedded/wg/pull/363)
103 | * https://matrix.to/#/#rust-embedded:matrix.org
104 |
105 | ### networking domain wg
106 |
107 | * Absent this week
108 |
109 | ### wasm domain wg (fitzgen)
110 |
111 | * Working on support for the "Web IDL bindings" proposal in wasm-bindgen
112 | * This is the thing enables direct DOM access from wasm, and promises to eventually unlock even-faster-than-JS DOM access
113 |
114 |
--------------------------------------------------------------------------------
/minutes/project-leadership-sync/2019-07-17.md:
--------------------------------------------------------------------------------
1 | # Rust Project Leadership Sync Meeting
2 |
3 | ## Instructions
4 |
5 | ### In the leadup to the meeting
6 |
7 | Prior to or during the meeting, jot down a few notes for your team. When it comes time to speak, it is best to focus on **upcoming** or **future plans**, in particular those that may have a cross-cutting nature.
8 |
9 | If you have private remarks that you don't want to be in the minutes, feel free to just write nothing or to write something like "private remarks".
10 |
11 | Since we don't have a lot of time per team, please avoid getting into the details. Ping the speaker after the meeting if you want to follow-up with questions.
12 |
13 | Feel free to add more announcements than those you plan to speak about out loud. For example, you might jot down notable developments from the week.
14 |
15 | ### As you join the meeting
16 |
17 | Add your name to the appropriate team or working group that you are representing below.
18 |
19 | ### After the meeting
20 |
21 | At the end of each meeting, we will lightly edit these minutes as needed and then copy them into a repository, clearing this document for the next week.
22 |
23 | ## Teams
24 |
25 | ### Core team - Manish
26 | - core team videos: https://github.com/rust-lang/core-team/blob/master/minutes/core-team/meetings.md
27 | - Private remarks
28 |
29 | ### Community team - Manish
30 | - Internationalization WG
31 | - Plan to make a discord for the translation teams
32 |
33 | ### Compiler team
34 |
35 | - not here
36 |
37 | ### crates.io team - sgrif
38 |
39 | - No major news
40 |
41 | ### dev tools team - Manish
42 |
43 | - Progress on cargo clippy integration
44 | - Work starting on a "std-aware" cargo
45 | - New rustfix release soon
46 | - `cfg(doctest)` in `rustdoc --test`
47 | - rustup moving to Azure for CI
48 | - Work on IPC in RLS starting
49 | - rustup on snapcraft: probably doing this unofficially for now
50 |
51 |
52 | ### doc team
53 |
54 | - not here
55 |
56 | ### lang team - joshtriplett
57 |
58 | Josh Triplett representing going forward.
59 |
60 | - [Stabilization of `!` (never) type](https://github.com/rust-lang/rust/issues/57012): ready to proceed, but likely need to implement a hack that'll look a lot like a bit of specialization, to effectively implement both `From` and `From` for `!`. Want to give folks a heads-up.
61 | - Private remarks
62 |
63 | ### library team
64 |
65 | - not present
66 |
67 | ### moderation team
68 |
69 | - not present
70 |
71 |
72 | ### release team
73 |
74 | * no major news
75 |
76 | ### infra team - pietroalbini
77 |
78 | * GitHub synchronization with the team repo is almost ready
79 | * Team leads, please check the members list in the team repo reflects the
80 | actual team membership
81 | * Rollout will be gradual and y'all will be pinged before your team is
82 | synchronized
83 | * Work on 4 core machines is underway, and we have some initial numbers
84 | (roughly 20% speedup on Windows)
85 | * Finally got around to [merging the static websites hosting guidelines](https://github.com/rust-lang/infra-team/blob/master/guidelines/static-websites.md)
86 | * Almost finished docs.rs changes to keep it sustainable
87 |
88 |
89 | ### cli domain wg
90 |
91 | * no major news
92 |
93 | ### embedded domain wg
94 |
95 | * Private notes
96 | * 2019-07-24 - James Not Present
97 | * Embedded WG looking into how to triage issues/requests to present to this meeting in the future
98 | * Embedded WG starting planning for mentoring/onramping new contributors
99 | * Many teams have folks that are over-busy
100 | * Hoping to unblock reviews
101 |
102 | ### networking domain wg
103 | - not present
104 | ### wasm domain wg
105 | - not present
106 | ### secure code wg - bascule
107 | - Hello!
108 | - trying to unsafe audit popular ecosystem crates ("safety dance"?)
109 |
110 | ### game dev wg
111 | - not present
112 |
--------------------------------------------------------------------------------
/minutes/project-leadership-sync/2019-07-24.md:
--------------------------------------------------------------------------------
1 | # Rust Project Leadership Sync Meeting
2 |
3 | ### Core team - Mark
4 |
5 | * No news
6 |
7 | ### Community team
8 |
9 | ### Compiler team
10 |
11 | ### crates.io team - Sean
12 |
13 | * No major news
14 |
15 | ### dev tools team
16 |
17 | * No major news
18 |
19 | ### lang team - Josh
20 |
21 | - Discussions on UB
22 | - FFI unwinding
23 | - Private remarks
24 |
25 | ### moderation team
26 |
27 | ### release team - Mark
28 |
29 | * no major news
30 |
31 | ### infra team - pietroalbini
32 |
33 | * Agreed with Microsoft to create a second Azure org for CI-heavy repos, should start contacting those repos maintainers soon
34 | * GitHub sync landed on the team repo, please add it for your teams!
35 |
36 | ### cli domain wg
37 |
38 | * No news
39 |
40 | ### embedded domain wg
41 |
42 | * Embedded WG looking into how to triage issues/requests to present to this meeting in the future
43 | * Embedded WG starting planning for mentoring/onramping new contributors
44 | * Many teams have folks that are over-busy
45 | * Hoping to unblock reviews
46 |
47 | ### async ecosystem wg - Yosh
48 |
49 | ### wasm domain wg - Alex
50 |
51 | * LLVM 9 update has landed
52 | * `#[thread_local]` support coming now
53 | * Needs updated linker support for multithreading applications
54 | * The `wasm-pack` tool has started seeing more triage and maintenance
55 |
56 | ### secure code wg - Tony
57 |
58 | * Safety Dance (https://github.com/rust-secure-code/safety-dance)
59 | * RUSTSEC-2019-0011: memoffset
60 |
61 | ### game dev wg
62 |
63 | ### library team - Alex
64 |
65 | * The `std`-aware Cargo RFC has been closed in favor of a [discussion repository](https://github.com/rust-lang/wg-cargo-std-aware) where issues can serve as a way to categorize discussion. Motivation here is to drive towards an MVP in a reasonable time frame and avoid being blocked on too many issues.e
66 |
--------------------------------------------------------------------------------
/minutes/project-leadership-sync/2019-07-31.md:
--------------------------------------------------------------------------------
1 | # Rust Project Leadership Sync Meeting
2 |
3 | ## Teams
4 |
5 | ### Core team - Mark
6 | * nothing to report
7 |
8 | ### Community team
9 |
10 | ### Compiler team
11 |
12 | ### crates.io team - Sean
13 |
14 | * Brief downtime next week
15 |
16 | ### dev tools team
17 |
18 | ### lang team - Josh
19 |
20 | * No news to report
21 |
22 | ### moderation team
23 |
24 | ### release team - Mark
25 |
26 | * tool breakage weeks on [Forge](https://forge.rust-lang.org/)
27 |
28 | ### infra team - Pietro
29 |
30 | * Had a small docs.rs outage, deployed changes to fix the root cause
31 | * Private remarks
32 |
33 | ### cli domain wg
34 |
35 | * no major news
36 |
37 | ### embedded domain wg - James
38 |
39 | * Waiting on core team response re: Freenode IRC
40 | * Waiting on response re: https://github.com/rust-lang/rust/issues/62781 from compiler team
41 | * Planning on putting together guide for mentorship
42 |
43 | ### async ecosystem wg - Yosh
44 | * triage meeting last week went really well
45 | * switching leadership
46 |
47 | ### wasm domain wg
48 |
49 | ### secure code wg - Tony
50 |
51 | * nothing to report
52 |
53 | ### game dev wg - AlexEne
54 | * A lot of discussions and other similar sessions about the state of various libraries in game development
55 | * Progress on the GLSL->SPIRV rust-only toolchain design/missing parts
56 | * Math libraries is an ongoing topic still without a clear answer.
57 |
58 | ### library team - Alex
59 |
60 | * nothing to report
61 |
--------------------------------------------------------------------------------
/minutes/project-leadership-sync/2019-08-07.md:
--------------------------------------------------------------------------------
1 | # Rust Project Leadership Sync Meeting
2 |
3 | ## Teams
4 |
5 | ### Core team
6 |
7 | * Started planning all-hands
8 |
9 | ### Community team
10 |
11 | * Conference help
12 |
13 | ### Compiler team
14 |
15 | - away
16 |
17 | ### crates.io team
18 |
19 | - away
20 |
21 | ### dev tools team
22 |
23 | - away
24 |
25 | ### lang team - Josh Triplett
26 |
27 | * Triage week
28 |
29 | ### moderation team
30 |
31 | - away
32 |
33 | ### release team - Mark
34 | * no major news
35 |
36 | ### infra team - Pietro
37 |
38 | * Private remarks
39 |
40 | ### cli domain wg
41 |
42 | - no major news + Pascal on vacation :)
43 |
44 | ### embedded domain wg - James
45 |
46 | - Freenode registration in progress
47 | - Anyone know anyone working on fn-level optimization?
48 |
49 | ### async ecosystem wg
50 |
51 | ### wasm domain wg
52 |
53 | ### secure code wg
54 |
55 | - no news - Tony out / busy dealing with outage
56 |
57 | ### game dev wg
58 |
59 | ### library team
60 |
61 | * no major news
62 |
63 | ### Additional notes
64 |
65 | Proposal to make this meeting byweekly, but after the next one (otherwise, we would collide with RustConf)
66 |
--------------------------------------------------------------------------------
/minutes/project-leadership-sync/2019-08-14.md:
--------------------------------------------------------------------------------
1 | # Rust Project Leadership Sync Meeting
2 |
3 | ## Teams
4 |
5 | ### Core team -- Nicholas Matsakis
6 |
7 | * planning all-hands, reminder to fill [all hands form][]
8 | * leading up to RustConf
9 | * Reminder that we are *cancelling* next week's meeting due to RustConf
10 |
11 | [all hands form]: https://forms.gle/iY2rS4qWthMiyuik9
12 |
13 | ### Community team -- Florian Gilcher
14 |
15 | * Conference help
16 | * Promotion of conference writing output
17 |
18 | ### Governance -- Florian Gilcher
19 |
20 | * Documenting gh.com/rust-lang policies
21 |
22 | ### Compiler team - nikomatsakis
23 |
24 | * I'm back now, Felix coming back on/around Sep 9
25 | * many thanks to nagisa
26 | * Async/await likely to stabilize for 1.39
27 | * [stabilization PR][#63209]
28 | * prior to hitting stable, still time to improve book and "onboarding experience"
29 | * after stabilization, still details to improve (optimizations, fewer errors, better error messages, etc)
30 |
31 | [#63209]: https://github.com/rust-lang/rust/pull/63209
32 |
33 | ### lang team - Josh Triplett
34 |
35 | * async/await status (see niko's update)
36 | * [Stabilizing `#[non_exhaustive]`](https://github.com/rust-lang/rust/issues/44109)
37 | * [Raw reference syntax](https://github.com/rust-lang/rfcs/pull/2582) status
38 | * Hoping to accept for nightly implementation Real Soon Now, so people can start using it to write "future proof" unsafe code
39 | * Private remarks on roadmap
40 |
41 | ### crates.io team - Sean
42 |
43 | * SSL certificate issues (https://github.com/rust-lang/rust/issues/63510)
44 | * Index inconsistencies
45 | * Private remarks
46 |
47 | ### dev tools team - Manish
48 |
49 | * No updates
50 |
51 | ### moderation team
52 |
53 | ### release team - Mark
54 |
55 | * Release is on-schedule; [blog post PR](https://github.com/rust-lang/blog.rust-lang.org/pull/397)
56 |
57 | ### infra team - Pietro
58 |
59 | * The team repo's CI is now fixed
60 | * GitHub Actions and GitHub Package Registry beta features are enabled on our orgs
61 | * not recommended for wider use though, as it's in beta still
62 | * Not much progress on 4 core builders last week unfortunately
63 | * Private remarks
64 |
65 | ### cli domain wg - Pascal
66 |
67 | * No updates
68 |
69 | ### embedded domain wg - James
70 |
71 | * Waiting for Freenode feedback from Steve K
72 | * Looking at embedded-hal traits (specifically digital::v2)
73 |
74 | ### async ecosystem wg
75 |
76 | * No updates
77 |
78 | ### wasm domain wg
79 |
80 | * No updates
81 |
82 | ### secure code wg
83 |
84 | * No updates
85 |
86 | ### game dev wg
87 |
88 | * No updates
89 |
90 | ### library team - Alex
91 |
92 | * No updates
93 |
--------------------------------------------------------------------------------
/minutes/project-leadership-sync/2019-08-28.md:
--------------------------------------------------------------------------------
1 | # Rust Project Leadership Sync Meeting
2 |
3 | ## Teams
4 |
5 | ### Core team -- Niko Matsakis
6 |
7 | - no meeting last week, no major updates
8 |
9 | ### Community team
10 |
11 | ### Governance -- Niko Matsakis
12 |
13 | - triage meeting was quiet
14 | - considering organizing a dedicated meeting around github access rights, affects many teams
15 | - will post something
16 | - some folks interested: Josh
17 | - Josh: maybe include reviewer scope in this meeting?
18 | - i.e., the team is big enough, maybe worth formalizing who the right person is to r?
19 | - Would like to have documentation of who has expertise in various areas; currently mostly tribal knowledge.
20 | - Document how to set yourself on vacation and not get review requests
21 | - Should use existing formats to document reviewers where possible
22 | - [An issue is already open on this.](https://github.com/rust-lang/infra-team/issues/24)
23 |
24 | ### Compiler team -- Niko Matsakis
25 |
26 | - no meeting last week, rust conf
27 | - stabilized async-await on nightly :tada:
28 |
29 | ### lang team - Josh Triplett
30 |
31 | - Requirements/guidelines for additions to the prelude?
32 | - Ongoing discussion about adding `HashMap` to the prelude.
33 | - Want to establish general requirements or guidelines for when and how to add things.
34 | - Need more strict requirements for traits (due to potential breakage), but adding types shouldn't break anything
35 | - Who should make the decision, and who should advise?
36 | - Would like to avoid making this specific item wait on the development of fully general/mechanical requirements
37 |
38 | ### crates.io team
39 |
40 | * No Updates
41 |
42 | ### dev tools team
43 |
44 | * No Updates
45 |
46 | ### moderation team
47 |
48 | * Not present
49 |
50 | ### release team - Mark
51 |
52 | * no updates
53 |
54 | ### infra team - Pietro
55 |
56 | * Work is being done to address long-standing infra issues.
57 | * Still no progress on 4 core builders.
58 | * Private remarks.
59 |
60 | ### cli domain wg - Pascal
61 |
62 | * No Updates
63 |
64 | ### embedded domain wg - James
65 |
66 | * RustConf!
67 | * Docs.rs Stress
68 | * Docs are slow to build for embedded crates
69 | * https://github.com/rust-lang/rust/issues/58849#issuecomment-484278355
70 | * This causes slow build times, bad story for others
71 | * https://github.com/rust-lang/docs.rs/issues/335
72 | * https://github.com/rust-lang/docs.rs/issues/343
73 | * Yet another issue on the docs.rs infrastructure itself (added by Pietro)
74 | * [PR to fix slow S3 uploads is up.](https://github.com/rust-lang/docs.rs/pull/393)
75 | * Credit to Mark Simulacrum for latest work on docs.rs
76 | * Private Remarks
77 |
78 | ### async ecosystem wg - Yosh
79 |
80 | * Moved to bi-weekly meeting schedule.
81 | * Moved off sprints after 2, 6-week sprints
82 | * meeting is more of a "check-in" point for people to post updates on projects in/around the async space
83 | * First meeting in 3 weeks this week b/c RustConf.
84 | * More effort into documenting ecosystem (:
85 | * Major releases of async-related projects:
86 | * [Surf HTTP client release](https://github.com/rustasync/surf)
87 | * [async-rs/async-std release](https://async.rs/blog/announcing-async-std/)
88 | * [tokio alpha release](https://tokio.rs/blog/2019-08-alphas/)
89 |
90 | ### wasm domain wg
91 |
92 | ### secure code wg - Tony
93 |
94 | * Published advisory on spin as part of the [Safety Dance](https://github.com/rust-secure-code/safety-dance)
95 | * Help with `Vec::append_from_within()` RFC?
96 | * https://github.com/rust-lang/rfcs/pull/2714 -- opened in June
97 | * would give a safe pattern to a problem accounting for >50% of problems found thus far
98 |
99 | ### game dev wg
100 |
101 | ### library team
102 |
103 | ### questions for others
104 |
105 | * Question from Niko: there was some discussion about the need to extend cargo/crates.io to incorporate the concept of "vetted crates" in some way, so as to enable people to build more secure code with long lists of dependencies (perhaps similar to cargo-crev). Wanted to highlight here with team leads and suggest people can contact me if that's of interest, though I wouldn't be driving this. =)
106 |
107 | * Private remarks from Josh
108 |
--------------------------------------------------------------------------------
/minutes/project-leadership-sync/2019-09-12.md:
--------------------------------------------------------------------------------
1 | # Rust Project Leadership Sync Meeting
2 |
3 | ## Teams
4 |
5 | ### Core team (Niko)
6 |
7 | * Got #rust registered on freenode
8 | * Checking a lot of legal issues
9 | * GDPR
10 | * Copyrights of submitters
11 | * ...
12 | * roadmap process -- hoping to kick off something soon-ish
13 | * survey process
14 |
15 | ### Community team (Florian)
16 |
17 | * Working as usual
18 | * Most were on holidays after Rustconf
19 |
20 | ### Governance
21 |
22 | * considering a meeting plan for github access rights
23 | * who should attend?
24 |
25 | ### Compiler team (Niko)
26 |
27 | - [NLL migration plan](https://gist.github.com/Mark-Simulacrum/ff49698b6bffc5a40bf9c20ec255d619)
28 | - want a team blog where we can post announcements and updates from Rust teams, how can we make this happen?
29 | - [Someone willing to review this?](https://github.com/rust-lang/blog.rust-lang.org/pull/402)
30 |
31 | ### Lang team - Josh Triplett
32 |
33 | - Process improvement initial steps: [Shepherds 3.0](http://smallcultfollowing.com/babysteps/blog/2019/09/11/aic-shepherds-3-0/) - Niko
34 | - Plan to discuss in lang team
35 | - Many aspects may generalize to other teams; will report how this goes.
36 |
37 | ### crates.io team - Sean Griffin
38 |
39 | - Roadmap RFC soon
40 | - Discussions beginning around increasing security of publishes
41 |
42 | ### dev tools team - Manish
43 |
44 | - No news
45 |
46 | ### moderation team
47 |
48 | ### release team
49 |
50 | - No news
51 |
52 | ### infra team -- Pietro
53 |
54 | - We got basic monitoring and alerting setup for our servers.
55 | - First Crater on Windows run started! :tada:
56 | - The docs.rs build environment will change in the next few weeks.
57 | - Private remarks.
58 |
59 | ### cli domain wg - Pascal
60 |
61 | - No news
62 |
63 | ### embedded domain wg - James
64 |
65 | * Interesting RFC: `core-mutex` - Mutex as a trait
66 | * https://github.com/rust-embedded/wg/pull/377
67 | * Interesting RFC: "focus-projects", based on Niko's chats, shepherds 1.x-2.x
68 | * https://github.com/rust-embedded/wg/pull/378
69 | * Originally based on http://smallcultfollowing.com/babysteps/blog/2019/07/10/aic-unbounded-queues-and-lang-design
70 | * I now need to revise based on http://smallcultfollowing.com/babysteps/blog/2019/09/11/aic-shepherds-3-0/ :)
71 | * Private Thoughts
72 |
73 | ### async ecosystem wg
74 | - Yosh had to cancel meeting at the last minute (sorry!!)
75 | - We've decided to more carefully assign roles on the GitHub org
76 | - new roles: "review + commit" vs "publish"
77 | - per-repo primary contacts
78 | - No more RFC process for Tide, because it wasn't working well for us
79 | - Going to bring back rustasync.github.com for content
80 | - Meeting again tomorrow (bi-weekly, day after this meeting hah)
81 |
82 | ### wasm domain wg
83 |
84 | ### secure code wg
85 |
86 | ### game dev wg
87 |
88 | ### Library team - Alex
89 |
90 | * Small progress on "Fix Error trait" [RFC 2504](https://github.com/rust-lang/rust/issues/53487) by adding an unstable `std::backtrace` module [rust-lang/rust#64154](https://github.com/rust-lang/rust/pull/64154)
91 |
92 | ### Cargo team - Alex
93 |
94 | * Initial implementation of "std aware" Cargo landed as `-Z build-std` - [rust-lang/cargo#7216](https://github.com/rust-lang/cargo/pull/7216)
95 | * Question: Minimum Rust Version status? -- yes, would like to do some minimal version of this as a start
96 | * Talking a lot within the team about "Minimum Supported Rust Version" (MSRV) recently, looking to make progress on a [proposed RFC](https://github.com/rust-lang/rfcs/pull/2495) in a minimal capacity and we are actively seeking feedback from stakeholders about the RFC and next steps.
97 |
98 | ## other topics to raise
99 |
100 | * team blog planning
101 | * https://github.com/rust-lang/blog.rust-lang.org/pull/402
102 | * what do we want before launching?
103 | * maybe some initial notes on the expected usage?
104 | * how do you pick between this blog and the main one?
105 | * audience: is it targeting "contributors" or "potential contributors" or "general rust audience"
106 | * a few sample blog posts?
107 | * secure code wg might be up for that
108 | * docs.rs changes -- probably
109 | * compiler team
110 | * what about cross posting
111 | * the voice should be "from the team"
112 | * need some review on the UI side of things
113 | * also technical
114 | * maybe need a policy around blogging on the main blog, too
115 |
--------------------------------------------------------------------------------
/minutes/project-leadership-sync/2019-09-25.md:
--------------------------------------------------------------------------------
1 | # Rust Project Leadership Sync Meeting
2 |
3 | ## Teams
4 |
5 | ### Core team - Niko
6 |
7 | - Roadmap process e-mail sent out
8 | - All Hands 2020 planning getting started
9 | - Rust Survey
10 |
11 | ### Community team
12 |
13 | ### Governance - Niko
14 |
15 | - [draft of a blog policy](https://github.com/rust-lang/wg-governance/issues/23)
16 | - Private remarks
17 |
18 | ### Compiler team - Niko
19 |
20 | - NLL (MIR borrowck) will be on all editions as hard error soon
21 | - https://github.com/rust-lang/rust/pull/64221
22 | - async await is on beta and still stable :)
23 | - had a meeting about target tiers, trying to create a coherent policy
24 | - [minutes from meeting][target-tier]
25 |
26 | [target-tier]: https://rust-lang.github.io/compiler-team/minutes/design-meeting/2019-09-20-target-tier-policy/)
27 |
28 | ### Lang team - Josh
29 |
30 | - [RFC 2753][rfc-2753] is a current priority
31 | - good poster child for some of the challenges with existing RFC process
32 |
33 | [rfc-2753]: https://github.com/rust-lang/rfcs/pull/2753
34 |
35 | ### crates.io team - Sean (likely not online, napping baby in room)
36 |
37 | - DB maintenance next Friday. Expected impact is a few seconds of read only mode. No public comms planned, as it shouldn't end up being noticed by users
38 |
39 | ### dev tools team - Manish
40 |
41 | ### moderation team
42 |
43 | ### release team - Mark
44 |
45 | - [release blog review](https://github.com/rust-lang/blog.rust-lang.org/pull/405)
46 | - Mark is running release: will start at approximately 9:10 ET, released 10:20 or so.
47 |
48 | ### infra team - Pietro
49 |
50 | - New Crater agent sponsored by Microsoft :tada:
51 | - docs.rs breaking changes will be deployed on Monday 30th
52 | - Progress is being made torwards 4 core builders for rustc
53 |
54 | ### cli domain wg
55 |
56 | ### embedded domain wg - James
57 |
58 | * Same RFCs as last time
59 | * Mutex Trait for no_std usage - https://github.com/rust-embedded/wg/pull/377
60 | * Shepherding and Projects process - https://github.com/rust-embedded/wg/pull/378
61 | * Some struggles with keeping permissions and teams up to date
62 | * James to reach out to Pietro
63 |
64 | ### async ecosystem wg - Yosh
65 |
66 | - No notable updates (last meeting was really short)
67 | - Meeting tomorrow
68 | - One more update that's not public yet
69 |
70 | ### wasm domain wg
71 |
72 | ### secure code wg - Tony
73 |
74 | - New `cargo-audit` release: team blog topic?
75 |
76 | ### game dev wg
77 |
78 | ### Library team
79 |
80 | ### Cargo team
81 |
82 | ## other topics to raise
83 |
84 | - Rust 2020 blog posts
85 | - Timeline?
86 |
--------------------------------------------------------------------------------
/minutes/project-leadership-sync/2019-10-09.md:
--------------------------------------------------------------------------------
1 | # Rust Project Leadership Sync Meeting
2 |
3 | ## Teams
4 |
5 | ### Core team
6 | - no updates
7 |
8 | ### Community team
9 |
10 | ### Governance - Niko
11 |
12 | * Had a meeting, goal is to work with teams and codify procedures
13 | * Forge as a place to house these sorts of documented procedures, with links from other places
14 | * Access rights meeting
15 | * "Inside Rust" blog is live!
16 |
17 | ### Compiler team - Niko
18 |
19 | * Had a meeting about Roadmap goals and the biggest problems we face
20 | * Felix likely to join as co-lead
21 |
22 | ### Lang team - Niko
23 |
24 | * Dedicated group around RFC 2753 getting started ("ffi unwind")
25 | * No major updates at the moment
26 |
27 | ### crates.io team
28 |
29 | * No updates
30 |
31 | ### dev tools team
32 |
33 | ### moderation team
34 |
35 | ### release team - Mark
36 |
37 | * no updates
38 |
39 | ### infra team - Pietro
40 |
41 | * Pietro is now co-leading the infrastructure team.
42 | * docs.rs breaking changes deployed, not many regressions.
43 | * Private remarks.
44 |
45 | ### security team - Pietro
46 |
47 | * creating a team for responding to security issues, trying to formalize something we did informally before
48 | * we now have a security policy across the org, so when you open a new issue it points you to the right place
49 |
50 | ### cli domain wg
51 |
52 | ### embedded domain wg
53 |
54 | ### async ecosystem wg - Yosh
55 |
56 | * Core team shared blog post
57 | * Starting to move over crates
58 | * Need to follow up with areweasyncyet maintainers
59 | * Final meeting
60 |
61 | ### wasm domain wg
62 |
63 | ### secure code wg - Tony
64 |
65 | * Posted a blog post on cargo audit
66 | * doubled downloads
67 | * got interested new contributors
68 |
69 | ### game dev wg
70 |
71 | ### Library team
72 |
73 | ### Cargo team
74 |
75 | ## other topics to raise
76 |
77 | * Rust 2020 blog posts timeline?
78 | * we should get something underway asap so people have time to write!
79 |
--------------------------------------------------------------------------------
/minutes/project-leadership-sync/2019-10-23.md:
--------------------------------------------------------------------------------
1 | # Rust Project Leadership Sync Meeting
2 |
3 | ## Teams
4 |
5 | ### Core team (Niko)
6 |
7 | * Planning to get Rust 2019 survey up and going
8 | * Consider adding questions or other information to [this hackmd][survey]
9 |
10 | [survey]: https://hackmd.io/OVry1PKwQE2tk2IWDZlP8w
11 |
12 | ### Community team
13 |
14 | * Looking for a new lead
15 |
16 | ### Governance (Niko)
17 |
18 | * Blog post policies to be merged into [forge](https://forge.rust-lang.org/)
19 | * Encouraging the use of forge for documenting "team policies and procedures"
20 |
21 | ### Compiler team (Niko)
22 |
23 | * Announced LLVM ICE-breakers
24 | * This involved adding new infrastructure to support "pinging" teams
25 | * e.g., `@rustbot ping icebreakers-llvm` will ping folks and add a suitable label
26 | * Members of these teams are not required to be members of Rust org
27 | * Might be something that other teams wish to use
28 | * Had a meeting last week:
29 | * Having trouble maintaining debuginfo. Not sure what to do about it.
30 | * pnkfelix to be confirmed soon as co-lead
31 |
32 | ### Lang team (Niko)
33 |
34 | * ffi-unwind remains a major effort
35 | * considering stabilizing `!`
36 | * last lingering controversy is whether to change fallback behavior
37 | * there remains work in the ecosystem to prepare for such a change (most notably by the [objc crate](https://github.com/rust-lang/rust/pull/65355#issuecomment-543887594))
38 |
39 | ### crates.io team
40 |
41 | ### dev tools team
42 |
43 | ### moderation team
44 |
45 | ### release team - Mark
46 |
47 | * no major updates
48 |
49 | ### infra team - Pietro
50 |
51 | * Infra documentation on the forge! :tada:
52 | * docs.rs outage on Sunday night.
53 | * Lots of CI changes coming in the near future.
54 | * https://gist.github.com/pietroalbini/a148500adae5322a56baa8b26c37952f
55 | * Private remarks.
56 |
57 | ### security team
58 |
59 | ### cli domain wg
60 |
61 | ### embedded domain wg - James
62 |
63 | * LLD Linker Script Regression
64 | * https://github.com/rust-lang/rust/issues/65391
65 | * exposes the limits of our testing infra around bare-metal embedded
66 | * Aliasing Reference UB - https://github.com/rust-lang/rust/issues/55005
67 | * Our potential responses (if not fixed upstream): https://github.com/rust-embedded/wg/pull/387
68 | * https://github.com/japaric/volatile-register/issues/10
69 | * https://github.com/japaric/vcell/issues/10
70 | * https://github.com/rust-console/voladdress
71 | * https://github.com/rust-lang/unsafe-code-guidelines/issues/33
72 | * WG-Embedded Label for triage?
73 | * We get this for free if WG-Embedded switches to teams
74 | * Other option is `@rustbot ping` CC Niko
75 | * depends how "open ended" you want the set of pingable folk to be, basically
76 |
77 | ### async ecosystem wg
78 |
79 | ### wasm domain wg
80 |
81 | ### secure code wg - Tony
82 |
83 | * pcwalton's "left-pad index": https://internals.rust-lang.org/t/calculating-which-3rd-party-crates-are-good-candidates-for-std-inclusion-via-left-pad-index/11129
84 | * `std` PRs:
85 | * matches: https://github.com/rust-lang/rust/pull/65479
86 | * once_cell: https://github.com/rust-lang/rfcs/pull/2788
87 |
88 | ### game dev wg
89 |
90 | ### Library team
91 |
92 | ### Cargo team
93 |
94 | ## other topics to raise
95 |
--------------------------------------------------------------------------------
/minutes/project-leadership-sync/2019-11-06.md:
--------------------------------------------------------------------------------
1 | # Rust Project Leadership Sync Meeting
2 |
3 | ## Teams
4 |
5 | ### Core team (Niko)
6 |
7 | * call 2020 roadmap blogposts went out
8 | * survey hopefully to start soon
9 |
10 | ### Community team
11 |
12 | ### Governance (Niko)
13 |
14 | * new plan :) you'll see blog posts :)
15 |
16 | ### Compiler team (Niko)
17 |
18 | * no major updates
19 |
20 | ### Lang team (Josh)
21 |
22 | * we are in the process of going back over a number of older RFCs that have laid idle
23 | * want to get out of the state where we have dozens of RFCs that haven't been touched in months
24 | * looking to revisit some of the discussions that got postponed, in part due to lack of energy
25 | * continuing to make incremental steps towards "shepherds process"
26 | * want to try to be more transparent about the "work queue" of
27 | each team member, to help people understand where proposals
28 | stand
29 | * working to address a [dyn trait soundness fix](https://github.com/rust-lang/rust/issues/57893)
30 | * may want a change coupled with an edition, but still unclear
31 |
32 | ### crates.io team
33 |
34 | not present
35 |
36 | ### dev tools team (Pascal)
37 |
38 | * [clippy is removing its plugin interface][c]
39 |
40 | [c]: https://blog.rust-lang.org/inside-rust/2019/11/04/Clippy-removes-plugin-interface.html
41 |
42 | ### moderation team
43 |
44 | not present
45 |
46 | ### release team (Mark)
47 |
48 | * we have a release tomorrow ([blogpost](https://github.com/rust-lang/blog.rust-lang.org/pull/444))
49 | * release simultaneously with [async-await is stable][aas] blog post
50 |
51 | [aas]: https://github.com/rust-lang/blog.rust-lang.org/pull/443
52 |
53 | ### infra team (Pietro)
54 |
55 | * perf server -- we are moving to a co-location setup
56 |
57 | ### Library team (Alex)
58 |
59 | * no updates
60 |
61 | ### security response wg (Pietro)
62 |
63 | * no updates
64 |
65 | ### cli domain wg (Pascal)
66 |
67 | * discussing what to do next year
68 |
69 | ### embedded domain wg
70 |
71 | * not present
72 |
73 | ### wasm domain wg
74 |
75 | * no updates
76 |
77 | ### secure code wg
78 |
79 | * not present
80 |
81 | ### game dev wg
82 |
83 | * not present
84 |
85 | ### Cargo team (nrc)
86 |
87 | * no updates
88 |
89 | ## other topics to raise
90 |
--------------------------------------------------------------------------------
/minutes/project-leadership-sync/2019-11-20.md:
--------------------------------------------------------------------------------
1 | # Rust Project Leadership Sync Meeting
2 |
3 | ## Instructions
4 |
5 | ### In the leadup to the meeting
6 |
7 | Prior to or during the meeting, jot down a few notes for your team. When it comes time to speak, it is best to focus on **upcoming** or **future plans**, in particular those that may have a cross-cutting nature.
8 |
9 | If you have private remarks that you don't want to be in the minutes, feel free to just write nothing or to write something like "private remarks".
10 |
11 | Since we don't have a lot of time per team, please avoid getting into the details. Ping the speaker after the meeting if you want to follow-up with questions.
12 |
13 | Feel free to add more announcements than those you plan to speak about out loud. For example, you might jot down notable developments from the week.
14 |
15 | ### As you join the meeting
16 |
17 | Add your name to the appropriate team or working group that you are representing below.
18 |
19 | ### After the meeting
20 |
21 | At the end of each meeting, we will lightly edit these minutes as needed and then copy them into a repository, clearing this document for the next week.
22 |
23 | ## Teams
24 |
25 | ### core team (nikomatsakis)
26 |
27 | * roadmap planning
28 | * we've been reviewing the #rust2020 blog posts
29 | * planning to have a meeting very early in December to discuss and try to pull our major themes, goals
30 | * will bring those results to the teams (and this meeting) to try and figure out how they apply to particular teams
31 | * aiming to do a roadmap that is more "cohesive" than last year's, which was kind of a concatenation of many different roadmaps
32 | * rust survey update
33 | * #rust-survey-2020 on rust-lang zulip [link](https://rust-lang.zulipchat.com/#narrow/stream/214615-rust-survey-2020)
34 | * draft is very similar to last year
35 | * caution around holiday breakage
36 | * in previous years, we sometimes had breakage right before xmas -- people would then try rustc over xmas break and find it broken. Not a good look.
37 | * Maybe it makes sense to institute a "no toolstate breakage" policy in the week before xmas? Or just be careful in what you merge. Would have to coordinate with folks doing rollups.
38 |
39 | ### community team
40 |
41 | ### governance (XAMPPRocky)
42 |
43 | * following up on our [call for participation](https://blog.rust-lang.org/inside-rust/2019/11/13/goverance-wg-cfp.html)
44 | * Updating RFC 1068 to include current teams and structure.
45 | * Creating RFC for a formal access policy. [(draft)](https://github.com/rust-lang/wg-governance/issues/4#issuecomment-520193578)
46 | * Creating RFC codifying "Working Group" and "Project Group" terminology. [(draft)](https://github.com/rust-lang/wg-governance/blob/master/draft-rfcs/working-group-terminology.md)
47 |
48 | ### compiler team (nikomatsakis)
49 |
50 | * upcoming planning meeting tomorrow to plan design meetings for the next 3 weeks
51 | * if you have things for compiler team to discuss, consider creating a proposal
52 | * did a retrospective on compiler team working groups
53 | * [minutes available here](https://rust-lang.github.io/compiler-team/minutes/design-meeting/2019-11-16-Working-Group-Retrospective/)
54 | * one of the key takeaways was that we plan to have team leads (and maybe other folks) actively mentor wg leads to try and develop roadmaps
55 | * niko is gone next week
56 |
57 | ### lang team (nikomatsakis)
58 |
59 | * working on a proposal around "stage0" of the RFC process
60 | * ["shepherded rfcs"](https://github.com/nikomatsakis/project-staged-rfcs/blob/master/rfcs/0001-shepherded-rfcs.md)
61 | * [clippy uplift](https://github.com/rust-lang/rust/issues/53224#issuecomment-482334580)
62 | * proposed to move towards individual PRs for specific uplift
63 | * goal is to have a "quick review process"
64 | * clippy team's take?
65 | * some preliminary investigation into how to address some of the [shortcomings that Microsoft raised](https://msrc-blog.microsoft.com/2019/11/07/using-rust-in-windows/)
66 | * notably safe unions
67 | * other shepherded items:
68 | * there is a [soundness hole around `dyn Trait`](https://github.com/rust-lang/rust/issues/57893) that we have been working to fix
69 | * this may require an edition-like transition
70 | * specifically, one would declare traits that can be made into `dyn` with `dyn trait Foo { .. }`
71 | * but in Rust 2018 it would work as now, with traits implicitly made "dyn capable"
72 | * modulo the soundness bug :)
73 |
74 | ### crates.io team (Pietro)
75 |
76 | * DNS switch + CloudFront for the crates.io domain happened today.
77 |
78 | ### dev tools team
79 |
80 | - New rustup release soon
81 | - New lockfile format soon
82 | - Potentially new docs.rs team ([PR to teams repo](https://github.com/rust-lang/team/pull/182))
83 |
84 | ### moderation team
85 |
86 | ### release team (Mark)
87 |
88 | * beta triage went well ([current list](https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3Aregression-from-stable-to-beta))
89 | * crater (https://github.com/rust-lang/rust-forge/pull/278)
90 |
91 | ### infra team (Pietro)
92 |
93 | * Got the new perf server!
94 | * GitHub Actions [Inside Rust Blog Post](https://blog.rust-lang.org/inside-rust/2019/11/14/evaluating-github-actions.html) :tada: :tada: :tada:
95 | * Private remarks.
96 |
97 | ### security response working group (pietro)
98 |
99 | * No update.
100 |
101 | ### cli domain wg
102 |
103 | ### embedded domain wg (James)
104 |
105 | * Landed [Mutex Trait RFC](https://github.com/rust-embedded/wg/pull/377)
106 | * https://github.com/rust-embedded/wg/blob/master/rfcs/0377-mutex-trait.md
107 | * Re-organizing some Repos:
108 | * Embedded-HAL: splitting up the traits
109 | * Books: Consolodating the books to remove duplicate work
110 | * How to keep up to date w/ upstream
111 | * James to follow up with Mark
112 |
113 | ### wasm domain wg
114 |
115 | ### secure code wg (Tony)
116 |
117 | * No update
118 |
119 | ### game dev wg
120 |
121 | ### library team
122 |
123 | ### cargo team
124 |
125 | ## other topics to raise
126 |
127 |
--------------------------------------------------------------------------------
/minutes/project-leadership-sync/2019-12-04.md:
--------------------------------------------------------------------------------
1 | # Rust Project Leadership Sync Meeting
2 |
3 | ## Instructions
4 |
5 | ### In the leadup to the meeting
6 |
7 | Prior to or during the meeting, jot down a few notes for your team. When it comes time to speak, it is best to focus on **upcoming** or **future plans**, in particular those that may have a cross-cutting nature.
8 |
9 | If you have private remarks that you don't want to be in the minutes, feel free to just write nothing or to write something like "private remarks".
10 |
11 | Since we don't have a lot of time per team, please avoid getting into the details. Ping the speaker after the meeting if you want to follow-up with questions.
12 |
13 | Feel free to add more announcements than those you plan to speak about out loud. For example, you might jot down notable developments from the week.
14 |
15 | ### As you join the meeting
16 |
17 | Add your name to the appropriate team or working group that you are representing below.
18 |
19 | ### After the meeting
20 |
21 | At the end of each meeting, we will lightly edit these minutes as needed and then copy them into a repository, clearing this document for the next week.
22 |
23 | ## Teams
24 |
25 | ### core team (Mark)
26 |
27 | * [survey published](https://blog.rust-lang.org/2019/12/03/survey-launch.html)
28 | * all hands dates and location set (will receive an email in the future about that)
29 |
30 | ### community team
31 |
32 | ### governance (nikomatsakis)
33 |
34 | * tie access rights to Rust team repo (and the gh teams created by it)
35 | * try to consolidate on the rust-lang org except for domain working groups
36 | * next week's topic: a staged RFC proposal
37 |
38 | ### compiler team (nikomatsakis)
39 |
40 | * maybe consider a meeting with release team triage?
41 |
42 | ### lang team (Josh)
43 |
44 | * no update
45 |
46 | ### crates.io team
47 |
48 | ### dev tools team
49 |
50 | ### moderation team
51 |
52 | ### release team (Mark)
53 |
54 | * no major updates
55 |
56 | ### infra team (pietro)
57 |
58 | * [GitHub Actions is building Linux and Windows on the test repo](https://github.com/rust-lang/rust-gha/commit/d9b6712b6d102181f7d8fa53b9db415757300e64/checks?check_suite_id=332181608)
59 | * Around 1 hour and 20 minutes for every builder
60 | * We'll still need to probably run macOS on Azure
61 | * In that case that's going to be the bottleneck (around 2 hours)
62 |
63 | ### security response working group (pietro)
64 |
65 | * no updates
66 |
67 | ### cli domain wg
68 |
69 | ### embedded domain wg
70 |
71 | ### wasm domain wg
72 |
73 | ### secure code wg (bascule)
74 |
75 | * no updates
76 |
77 | ### game dev wg
78 |
79 | ### library team
80 |
81 | ### cargo team
82 |
83 | ## other topics to raise
84 |
85 | * are these meetings sufficient value to justify the sync cost?
86 | * maybe we want to send an e-mail to survey people's take
87 | * consider some alternative format or time
88 |
--------------------------------------------------------------------------------
/minutes/project-leadership-sync/2019-12-18.md:
--------------------------------------------------------------------------------
1 | # Rust Project Leadership Sync Meeting
2 |
3 | ## Topic
4 |
5 | In today's meeting, we diverted from the "status update" format
6 | and instead had a conversation about how best to have this meeting
7 | going forward. The consensus was that the current format didn't
8 | seem optimal, and we decided to experiment with an alternative:
9 |
10 | * Create two zulip streams to use for async communication
11 | * team leads (public) -- preferred choice, public
12 | * team leads (private) -- private stream, no history
13 | * We can give major updates or raise questions there
14 | * We have another sync meeting scheduled for 1 month from now to review
15 |
16 | ## Notes
17 |
18 | * We could do regular updates in some async fashion but do regular posts to the blog
19 | * These don't have to be compiled, teams could update separately and post to blog
20 | * already happening to some extent
21 | * (but does everyone read?)
22 | * Other forms of communication?
23 | * In this meeting, WG asking the teams for things
24 | * Communication between teams, particularly around technical things
25 | * In principle core team might do this but
26 | * This could well be handled by a separate stream
27 | * Zulip might be better because topics
28 | * maybe a private steam? maybe a public/private stream?
29 | * Observation
30 | * since meeting started, Niko (and simulacrum) feel somewhat better informed
31 | * but we've tended towards "larger" events in these meetings, maybe a lighter weight forum might allow for something else
32 | * maybe there are specific pairings (e.g., embedded+lang) that should be in more common conversation
33 | * Topics at the interesction of technical + social
34 | * interesting to have a place where one can make observations that you wouldn't want to make properly
35 | * private stream for team leads might help
36 | * specifically, one without full history
37 | * would people be interested in "mediation consultations"
38 | * having a defined escalation path might be helpful
39 | * Specific proposal that seems to be gaining currency
40 | * team leads (public)
41 | * team leads (private)
42 | * Document purpose of channels
43 | * and especially privacy expectations from "private" channel
44 | * Could also be used for teams to communicate with one another
45 | * e.g., no place for a team member to go and see "what is changing" for the teams and for the project
46 | * some kind of "announcement"-like channel
47 | * kind of a twitter
48 | * could be on Discord, since not everybody uses it
49 | * Can we bridge?
50 | * Maybe but skepticism
51 | * But also a desire not to force people to use Zulip
52 | * But it's not clear if a discord will work in the same way
53 | * This has always been an experiment, always the option to eagerly create and see how it goes
54 | * maybe we schedule next meeting for 1 month
55 | * in the meantime, create two zulip streams as an experiment
56 |
--------------------------------------------------------------------------------
/minutes/project-leadership-sync/README.md:
--------------------------------------------------------------------------------
1 | The "sync meeting" is a meeting held on a weekly basis amongst the
2 | leads of major teams and working groups. It gives team leads a chance
3 | to synchronize about upcoming things and to discuss sensitive topics.
4 | Minutes of the meeting are stored in this directory.
5 |
--------------------------------------------------------------------------------