@@ -28,11 +28,12 @@ Gaining commit privileges
28
28
After a candidate has demonstrated consistent contributions, commit privileges
29
29
are granted through these steps:
30
30
31
- #. A core developer (submitter, usually the mentor) starts a poll in the
32
- `Committers category `_ on the `Python Discourse `_.
31
+ #. A core developer (submitter, usually the mentor) starts a poll
32
+ (see the :ref: `template <coredev-template >` below) in
33
+ the `Committers category `_ on the `Python Discourse `_.
33
34
34
35
- open for 7 days
35
- - results shown upon close
36
+ - results shown only upon closing
36
37
37
38
#. If the candidate receives at least two-thirds positive votes when the poll closes
38
39
(as per :pep: `13 `), the submitter `emails the steering council
@@ -59,6 +60,44 @@ are granted through these steps:
59
60
were in the form of a separate post on the already open topic with
60
61
the poll.
61
62
63
+ Poll template
64
+ =============
65
+
66
+ .. _coredev-template :
67
+
68
+ While Discourse uses Markdown for formatting, the poll functionality is
69
+ custom and somewhat resembles BBcode. There's a creator for polls in the
70
+ UI (click the cog icon in the edit box toolbar and choose "Build Poll").
71
+ Here's what it outputs, you can copy and paste it for your poll:
72
+
73
+ .. code-block :: bbcode
74
+
75
+ [poll type=regular results=on_close public=false chartType=bar groups=committers close=2024-07-15T21:15:00.000Z]
76
+ * Promote Basil Fawlty
77
+ * Do not promote
78
+ [/poll]
79
+
80
+ The important options in the poll builder set to get this result:
81
+ - Show who voted: **disabled ** (``public=false ``)
82
+ - Limit voting to these groups: **committers ** (``groups=committers ``)
83
+ - Automatically close poll: **in 7 days ** (``close=... ``)
84
+ - Show results: **When poll is closed ** (``results=on_close ``)
85
+
86
+ .. raw :: html
87
+
88
+ <script >
89
+ for (let span of document .querySelectorAll (' span' )) {
90
+ if (span .textContent === ' 2024-07-15T21:15:00.000Z' ) {
91
+ const nextWeek = new Date ();
92
+ nextWeek .setDate (nextWeek .getDate () + 7 );
93
+ nextWeek .setSeconds (0 );
94
+ nextWeek .setMilliseconds (0 );
95
+ span .textContent = nextWeek .toISOString ();
96
+ break ;
97
+ }
98
+ }
99
+ </script >
100
+
62
101
.. _Code of Conduct : https://policies.python.org/python.org/code-of-conduct/
63
102
.. _Committers category : https://discuss.python.org/c/committers/5
64
103
.. _Python Discourse : https://discuss.python.org
0 commit comments