Skip to content

Commit 170230f

Browse files
committed
[ci skip] Add labels to PRs with potential ABI breaks
ABI breaks are not supposed to happen after feature freeze, i.e. when the PHP API numbers have been bumped. To make it easier to notice inadvertent ABI breaks, we automatically add an "ABI break" label to all PRs which modify public (aka. installed) header files. Some of these modifications do not constitute an ABI break (e.g. adding a comment to a header file), but we rely on natural intelligence to sort that out. That means these labels should be removed manually, if they are not appropriate, but if they are, the PR should not be merged into any stable branch. For the master branch, where ABI breaks are permissible, the labels should still be removed if irrelevant, but kept when the PR is merged. Since tests are futile[1], we leave that to further (test) PRs. [1] <#15682 (comment)> Closes GH-15682.
1 parent 422aa17 commit 170230f

File tree

1 file changed

+92
-0
lines changed

1 file changed

+92
-0
lines changed

.github/labeler.yml

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,3 +241,95 @@
241241

242242
"SAPI: phpdbg":
243243
- sapi/phpdbg/**/*
244+
245+
"ABI break":
246+
- changed-files:
247+
- any-glob-to-any-file:
248+
- 'TSRM/*.h'
249+
- 'Zend/*.h'
250+
- 'Zend/Optimizer/zend_call_graph.h'
251+
- 'Zend/Optimizer/zend_cfg.h'
252+
- 'Zend/Optimizer/zend_dump.h'
253+
- 'Zend/Optimizer/zend_func_info.h'
254+
- 'Zend/Optimizer/zend_inference.h'
255+
- 'Zend/Optimizer/zend_optimizer.h'
256+
- 'Zend/Optimizer/zend_ssa.h'
257+
- 'ext/curl/php_curl.h'
258+
- 'ext/date/lib/timelib.h'
259+
- 'ext/date/lib/timelib_config.h'
260+
- 'ext/date/php_date.h'
261+
- 'ext/dom/xml_common.h'
262+
- 'ext/filter/php_filter.h'
263+
- 'ext/gd/*.h'
264+
- 'ext/gd/libgd/*.h'
265+
- 'ext/gmp/php_gmp_int.h'
266+
- 'ext/hash/php_hash.h'
267+
- 'ext/hash/php_hash_adler32.h'
268+
- 'ext/hash/php_hash_crc32.h'
269+
- 'ext/hash/php_hash_gost.h'
270+
- 'ext/hash/php_hash_haval.h'
271+
- 'ext/hash/php_hash_md.h'
272+
- 'ext/hash/php_hash_murmur.h'
273+
- 'ext/hash/php_hash_ripemd.h'
274+
- 'ext/hash/php_hash_sha.h'
275+
- 'ext/hash/php_hash_sha3.h'
276+
- 'ext/hash/php_hash_snefru.h'
277+
- 'ext/hash/php_hash_tiger.h'
278+
- 'ext/hash/php_hash_whirlpool.h'
279+
- 'ext/hash/php_hash_xxhash.h'
280+
- 'ext/iconv/*.h'
281+
- 'ext/json/php_json.h'
282+
- 'ext/json/php_json_parser.h'
283+
- 'ext/json/php_json_scanner.h'
284+
- 'ext/libxml/php_libxml.h'
285+
- 'ext/mbstring/libmbfl/config.h'
286+
- 'ext/mbstring/libmbfl/mbfl/eaw_table.h'
287+
- 'ext/mbstring/libmbfl/mbfl/mbfilter.h'
288+
- 'ext/mbstring/libmbfl/mbfl/mbfilter_8bit.h'
289+
- 'ext/mbstring/libmbfl/mbfl/mbfilter_pass.h'
290+
- 'ext/mbstring/libmbfl/mbfl/mbfilter_wchar.h'
291+
- 'ext/mbstring/libmbfl/mbfl/mbfl_consts.h'
292+
- 'ext/mbstring/libmbfl/mbfl/mbfl_convert.h'
293+
- 'ext/mbstring/libmbfl/mbfl/mbfl_defs.h'
294+
- 'ext/mbstring/libmbfl/mbfl/mbfl_encoding.h'
295+
- 'ext/mbstring/libmbfl/mbfl/mbfl_filter_output.h'
296+
- 'ext/mbstring/libmbfl/mbfl/mbfl_language.h'
297+
- 'ext/mbstring/libmbfl/mbfl/mbfl_memory_device.h'
298+
- 'ext/mbstring/libmbfl/mbfl/mbfl_string.h'
299+
- 'ext/mbstring/mbstring.h'
300+
- 'ext/mbstring/php_mbregex.h'
301+
- 'ext/mbstring/php_onig_compat.h'
302+
- 'ext/mysqli/php_mysqli_structs.h'
303+
- 'ext/mysqlnd/*.h'
304+
- 'ext/pcre/pcre2lib/*.h'
305+
- 'ext/pcre/php_pcre.h'
306+
- 'ext/pdo/php_pdo.h'
307+
- 'ext/pdo/php_pdo_driver.h'
308+
- 'ext/pdo/php_pdo_error.h'
309+
- 'ext/random/php_random.h'
310+
- 'ext/session/mod_files.h'
311+
- 'ext/session/mod_mm.h'
312+
- 'ext/session/mod_user.h'
313+
- 'ext/session/php_session.h'
314+
- 'ext/simplexml/php_simplexml.h'
315+
- 'ext/simplexml/php_simplexml_exports.h'
316+
- 'ext/sockets/php_sockets.h'
317+
- 'ext/sockets/windows_common.h'
318+
- 'ext/sodium/php_libsodium.h'
319+
- 'ext/spl/php_spl.h'
320+
- 'ext/spl/spl_array.h'
321+
- 'ext/spl/spl_directory.h'
322+
- 'ext/spl/spl_dllist.h'
323+
- 'ext/spl/spl_engine.h'
324+
- 'ext/spl/spl_exceptions.h'
325+
- 'ext/spl/spl_fixedarray.h'
326+
- 'ext/spl/spl_functions.h'
327+
- 'ext/spl/spl_heap.h'
328+
- 'ext/spl/spl_iterators.h'
329+
- 'ext/spl/spl_observer.h'
330+
- 'ext/standard/*.h'
331+
- 'ext/xml/*.h'
332+
- 'main/*.h'
333+
- 'main/streams/*.h'
334+
- 'sapi/embed/php_embed.h'
335+
- 'win32/*.h'

0 commit comments

Comments
 (0)