@@ -46,10 +46,11 @@ function get_current_version(): array {
4646 return [$ major , $ minor ];
4747}
4848
49- function select_jobs ($ nightly , $ labels , $ php_version , $ ref , $ all_variations ) {
49+ function select_jobs ($ repository , $ trigger , $ nightly , $ labels , $ php_version , $ ref , $ all_variations ) {
5050 $ no_jobs = in_array ('CI: No jobs ' , $ labels , true );
5151 $ all_jobs = in_array ('CI: All jobs ' , $ labels , true ) || $ nightly ;
5252 $ test_alpine = in_array ('CI: Alpine ' , $ labels , true );
53+ $ test_benchmarking = in_array ('CI: Benchmarking ' , $ labels , true );
5354 $ test_community = in_array ('CI: Community ' , $ labels , true );
5455 $ test_coverage = in_array ('CI: COVERAGE ' , $ labels , true );
5556 $ test_freebsd = in_array ('CI: FreeBSD ' , $ labels , true );
@@ -67,6 +68,13 @@ function select_jobs($nightly, $labels, $php_version, $ref, $all_variations) {
6768 if (version_compare ($ php_version , '8.4 ' , '>= ' ) && ($ all_jobs || !$ no_jobs || $ test_alpine )) {
6869 $ jobs ['ALPINE ' ] = true ;
6970 }
71+ if (version_compare ($ php_version , '8.4 ' , '>= ' )
72+ && !$ nightly
73+ && ($ all_jobs || !$ no_jobs || $ test_benchmarking )
74+ // push trigger is restricted to official repository.
75+ && ($ repository === 'php/php-src ' || $ trigger === 'pull_request ' )) {
76+ $ jobs ['BENCHMARKING ' ] = true ;
77+ }
7078 if ($ all_jobs || $ test_community ) {
7179 $ jobs ['COMMUNITY ' ]['matrix ' ] = version_compare ($ php_version , '8.4 ' , '>= ' )
7280 ? ['type ' => ['asan ' , 'verify_type_inference ' ]]
@@ -162,9 +170,11 @@ function select_jobs($nightly, $labels, $php_version, $ref, $all_variations) {
162170$ nightly = $ trigger === 'schedule ' || $ trigger === 'workflow_dispatch ' ;
163171$ all_variations = $ nightly || in_array ('CI: All variations ' , $ labels , true );
164172
173+ $ repository = $ argv [5 ] ?? null ;
174+
165175foreach ($ branches as &$ branch ) {
166176 $ php_version = $ branch ['version ' ][0 ] . '. ' . $ branch ['version ' ][1 ];
167- $ branch ['jobs ' ] = select_jobs ($ nightly , $ labels , $ php_version , $ branch ['ref ' ], $ all_variations );
177+ $ branch ['jobs ' ] = select_jobs ($ repository , $ trigger , $ nightly , $ labels , $ php_version , $ branch ['ref ' ], $ all_variations );
168178 $ branch ['config ' ]['ubuntu_version ' ] = version_compare ($ php_version , '8.5 ' , '>= ' ) ? '24.04 ' : '22.04 ' ;
169179}
170180
0 commit comments