Making WordPress.org

source: sites/trunk/common/includes/slack/trac/config.php

Last change on this file was 13667, checked in by dd32, 2 months ago

Slack: Send commits related to the Interactivity API & HTML API to their respective channels.

Props jonsurrell.
Fixes #7622.

  • Property svn:eol-style set to native
File size: 9.1 KB
Line 
1<?php
2
3namespace Dotorg\Slack\Trac\Tracs;
4use Dotorg\Slack\Trac\Trac;
5
6class Core extends Trac {
7        protected $name = 'WordPress';
8        protected $primary_channel  = '#core';
9        protected $commits_channel  = '#core-commits';
10        protected $tickets_channel  = '#core-newtickets';
11        protected $firehose_channel = '#core-firehose';
12
13        protected $primary_channel_ticket_format = 'title';
14
15        /**
16         * File paths that cause commits to be piped to particular channels.
17         * Start regex matches with # as your delimiter.
18         */
19        protected $commit_path_filters = array(
20                'wp-content/themes'                => '#core-themes',
21                'wp-admin/css'                     => '#core-css',
22                'wp-includes/css'                  => '#core-css',
23                'customize'                        => '#core-customize',
24                'editor-expand.js'                 => '#core-editor',
25                'wp-admin/css/edit.css'            => '#core-editor',
26                'wp-admin/js/post.js'              => '#core-editor',
27                'wp-admin/edit-form-advanced.php'  => '#core-editor',
28                'wp-includes/css/editor.css'       => '#core-editor',
29                'wp-includes/js/tinymce'           => '#core-editor',
30                'class-wp-editor.php'              => '#core-editor',
31                'press-this.php'                   => '#core-pressthis',
32                '#wp-(admin|includes)/ms-#'        => '#core-multisite',
33                'wp-admin/network'                 => '#core-multisite',
34                '#wp-admin/includes/(ms|network)#' => '#core-multisite',
35                'rest-api'                         => '#core-restapi',
36                '#wp-admin/.*(image|media)\b#'     => '#core-media',
37                '#wp-includes/.*(image|media)\b#'  => '#core-media',
38                '#wp-admin/.*(privacy|personal)#'  => '#core-privacy',
39                'wp-includes/sitemaps'             => '#core-sitemaps',
40                '#wp-admin/includes/.*upgrader#'   => '#core-upgrade-install',
41                '#wp-admin/includes/.*install#'    => '#core-upgrade-install',
42                'application-passwords'            => '#core-passwords',
43                'auth-app'                         => '#core-passwords',
44                'wp-includes/interactivity-api'    => '#core-interactivity-api',
45                'wp-includes/html-api'             => '#core-html-api',
46        );
47
48        /**
49         * Components or focuses that cause new tickets to be piped to particular channels.
50         */
51        protected $ticket_component_filters = array(
52                'Bundled Theme'          => '#core-themes',
53                'Customize'              => '#core-customize',
54                'Date/Time'              => '#core-datetime',
55                'Press This'             => '#core-pressthis',
56                'multisite'              => '#core-multisite',
57                'Networks and Sites'     => '#core-multisite',
58                'REST API'               => '#core-restapi',
59                'rest-api'               => '#core-restapi',
60                'I18N'                   => '#core-i18n',
61                'Media'                  => '#core-media',
62                'docs'                   => '#core-docs',
63                'css'                    => '#core-css',
64                'javascript'             => '#core-js',
65                'coding-standards'       => '#core-coding-standards',
66                'performance'            => '#core-performance',
67                'Privacy'                => '#core-privacy',
68                'privacy'                => '#core-privacy',
69                'Site Health'            => '#core-site-health',
70                'Sitemaps'               => '#core-sitemaps',
71                'Upgrade/Install'        => '#core-upgrade-install',
72                'Application Passwords'  => [ '#core-passwords' => true, '#core-restapi' => true ],
73                'Login and Registration' => '#core-passwords',
74                'HTML API'               => '#core-html-api',
75                'Interactivity API'      => '#core-interactivity-api',
76        );
77}
78
79class Meta extends Trac {
80        protected $name = 'WordPress.org Meta';
81        protected $primary_channel  = '#meta';
82        protected $commits_channel  = '#meta-commits';
83        protected $firehose_channel = '#meta-firehose';
84
85        protected $bypass_primary_channel_for_commit_filter_matches = true;
86        protected $bypass_primary_channel_for_ticket_filter_matches = true;
87
88        protected $commit_path_filters = array(
89                'translate.wordpress.org/'              => [ '#meta-i18n' => true, '#polyglots' => true ],
90                'global.wordpress.org/'                 => [ '#meta-i18n' => true, '#polyglots' => true ],
91                'plugins/rosetta'                       => [ '#meta-i18n' => true, '#polyglots' => true ],
92                'plugins/wporg-gp-'                     => [ '#meta-i18n' => true, '#polyglots' => true ],
93                'translations'                          => [ '#meta-i18n' => true, '#polyglots' => true ],
94                'mu-plugins/pub/locales'                => '#meta-i18n',
95                'developer-reference/'                  => '#meta-devhub',
96                'wporg-developer/'                      => '#meta-devhub',
97                'trac.wordpress.org/'                   => '#meta-tracdev',
98                'svn.wordpress.org/'                    => '#meta-tracdev',
99                'wordpress.org/public_html/style/trac/' => '#meta-tracdev',
100                'trac-notifications/'                   => '#meta-tracdev',
101                'wordcamp.org/'                         => '#meta-wordcamp',
102                'wporg-photos/'                         => [ '#meta' => true, '#photos' => true ],
103                'photo-directory/'                      => [ '#meta' => true, '#photos' => true ],
104                'wporg-themes/'                         => [ '#meta' => true, '#themereview' => true ],
105                'theme-directory/'                      => [ '#meta' => true, '#themereview' => true ],
106                'wp-themes.com/'                        => [ '#meta' => true, '#themereview' => true ],
107                'wporg-plugins/'                        => [ '#meta' => true, '#pluginreview' => true ],
108                'wporg-plugins-2024/'                   => [ '#meta' => true, '#pluginreview' => true ],
109                'plugin-directory/'                     => [ '#meta' => true, '#pluginreview' => true ],
110                'plugins/support-forums/'               => [ '#meta' => true, '#forums' => true ],
111                'plugins/wporg-bbp-'                    => [ '#meta' => true, '#forums' => true ],
112                'themes/pub/wporg-support/'             => [ '#meta' => true, '#forums' => true ],
113                'themes/pub/wporg-support-2024/'        => [ '#meta' => true, '#forums' => true ],
114        );
115
116        protected $ticket_component_filters = array(
117                'International Forums'          => [ '#meta-i18n' => true, '#polyglots' => true ],
118                'International Sites (Rosetta)' => [ '#meta-i18n' => true, '#polyglots' => true ],
119                'Translate Site & Plugins'      => [ '#meta-i18n' => true, '#polyglots' => true ],
120                'Developer Hub'                 => '#meta-devhub',
121                'Trac'                          => '#meta-tracdev',
122                'WordPress.tv'                  => '#wptv',
123                'WordCamp Site & Plugins'       => '#meta-wordcamp',
124                'HelpHub'                       => '#meta-helphub',
125                'Theme Review'                  => '#themereview',
126                'Photo Directory'               => [ '#meta' => true, '#photos' => true ],
127                'Theme Directory'               => [ '#meta' => true, '#themereview' => true ],
128                'Plugin Directory'              => [ '#meta' => true, '#pluginreview' => true ],
129                'Support Forums'                => [ '#meta' => true, '#forums' => true ],
130        );
131}
132
133class bbPress extends Trac {
134        protected $primary_channel  = '#bbpress';
135        protected $commits_channel  = '#bbpress-commits';
136        protected $tickets_channel  = '#bbpress-newtickets';
137        protected $firehose_channel = '#bbpress-firehose';
138
139        protected $primary_channel_ticket_format = 'title';
140
141        protected $commit_path_filters = array(
142                'branches/1.' => '#meta',
143        );
144
145        protected $color = '#2d8e42';
146        protected $icon  = ':bbpress:';
147}
148
149class BuddyPress extends Trac {
150        protected $primary_channel  = '#buddypress';
151        protected $commits_channel  = '#buddypress-commits';
152        protected $tickets_channel  = '#buddypress-newtickets';
153        protected $firehose_channel = '#buddypress-firehose';
154
155        protected $primary_channel_ticket_format = 'title';
156
157        protected $color = '#d84800';
158        protected $icon  = ':buddypress:';
159}
160
161class Dotorg extends Trac {
162        protected $name = 'Private Dotorg';
163        protected $public = false;
164        protected $primary_channel  = 'dotorg';
165        protected $firehose_channel = 'dotorg';
166}
167
168class Deploy extends Trac {
169        protected $public = false;
170        protected $tickets = false;
171
172        protected $primary_channel  = 'dotorg';
173        protected $firehose_channel = 'dotorg';
174}
175
176class GlotPress extends Trac {
177        protected $primary_channel = '#glotpress';
178        protected $firehose_channel = '#glotpress-firehose';
179}
180
181class Build extends Trac {
182        protected $name = 'WordPress Build';
183        protected $tickets = false;
184}
185
186class BackPress extends Trac {
187        protected $commits_channel = '#meta';
188}
189
190class SupportPress extends Trac {
191}
192
193class Design extends Trac {
194        protected $commit_template = 'https://core.trac.wordpress.org/changeset/design/%s';
195        protected $commit_info_template = 'https://core.trac.wordpress.org/log/%s?rev=%s&format=changelog&limit=1&verbose=on';
196}
197
198class Plugins extends Trac {
199}
200
201class Themes extends Trac {
202}
203
204class i18n extends Trac {
205        protected $name = 'WordPress i18n';
206        protected $tickets = false;
207}
208
209class Unit_Tests extends Trac {
210        protected $dormant = true;
211        protected $slug = 'unit-tests';
212        protected $name = 'Unit Tests (Old)';
213}
214
215class MU extends Trac {
216        protected $dormant = true;
217        protected $name = 'WordPress MU';
218}
219
220class OpenAtd extends Trac {
221        protected $dormant = true;
222        protected $name = 'After the Deadline';
223}
224
225class Code extends Trac {
226        protected $dormant = true;
227        protected $name = 'Code Repo';
228}
229
230class GSoC extends Trac {
231        protected $dormant = true;
232}
233
234class Security extends Trac {
235        protected $public = false;
236        protected $commits = false;
237}
238
239class WordCamp extends Trac {
240        protected $name = 'Private WordCamp.org';
241        protected $public = false;
242}
243
Note: See TracBrowser for help on using the repository browser.