Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
4360007
Move benchmarking job to nightly
iluuu1994 Feb 18, 2026
43e2c01
Merge branch 'PHP-8.2' into PHP-8.3
iluuu1994 Feb 18, 2026
1317a17
Merge branch 'PHP-8.3' into PHP-8.4
iluuu1994 Feb 18, 2026
14be9c4
Merge branch 'PHP-8.4' into PHP-8.5
iluuu1994 Feb 18, 2026
e4e35cf
Merge branch 'PHP-8.5'
iluuu1994 Feb 18, 2026
9c8780d
[skip ci] Add missing benchmarking checkout ref
iluuu1994 Feb 18, 2026
c990df8
Merge branch 'PHP-8.2' into PHP-8.3
iluuu1994 Feb 18, 2026
59cb3ab
Merge branch 'PHP-8.3' into PHP-8.4
iluuu1994 Feb 18, 2026
e3d04bb
Merge branch 'PHP-8.4' into PHP-8.5
iluuu1994 Feb 18, 2026
a4cfa69
Merge branch 'PHP-8.5'
iluuu1994 Feb 18, 2026
73b15c5
ext/sqlite3: Remove redundant test (#21199)
petk Feb 18, 2026
bcbc9c2
Rename nightly.yml to test-suite.yml
iluuu1994 Feb 18, 2026
dca6e5e
Rename push.yml to test.yml
iluuu1994 Feb 18, 2026
12148a5
Combine push.yml and root.yml into test.yml
iluuu1994 Feb 18, 2026
cbb3ff0
Improve displayed workflow_call name
iluuu1994 Feb 18, 2026
be96ae6
Adjust nightly-results.yml for test.yml
iluuu1994 Feb 18, 2026
cbbe046
Merge branch 'PHP-8.2' into PHP-8.3
iluuu1994 Feb 18, 2026
873095d
Merge branch 'PHP-8.3' into PHP-8.4
iluuu1994 Feb 18, 2026
6119a92
Merge branch 'PHP-8.4' into PHP-8.5
iluuu1994 Feb 18, 2026
33c7b1c
Merge branch 'PHP-8.5'
iluuu1994 Feb 18, 2026
37528af
Rename nightly_matrix.php to matrix.php
iluuu1994 Feb 18, 2026
f06de7c
Merge branch 'PHP-8.2' into PHP-8.3
iluuu1994 Feb 18, 2026
085f139
Merge branch 'PHP-8.3' into PHP-8.4
iluuu1994 Feb 18, 2026
480d46c
Merge branch 'PHP-8.4' into PHP-8.5
iluuu1994 Feb 18, 2026
1b0652f
Merge branch 'PHP-8.5'
iluuu1994 Feb 18, 2026
e22ef20
[skip ci] Update my own years in EXTENSIONS
TimWolla Feb 18, 2026
0e85b4b
Merge branch 'PHP-8.5'
TimWolla Feb 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 23 additions & 13 deletions .github/nightly_matrix.php → .github/matrix.php
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<?php

const BRANCHES = [
['ref' => 'master', 'version' => [8, 6]],
['ref' => 'PHP-8.5', 'version' => [8, 5]],
['ref' => 'PHP-8.4', 'version' => [8, 4]],
['ref' => 'PHP-8.3', 'version' => [8, 3]],
['ref' => 'PHP-8.2', 'version' => [8, 2]],
['name' => 'master', 'ref' => 'refs/heads/master', 'version' => [8, 6]],
['name' => 'PHP-8.5', 'ref' => 'refs/heads/PHP-8.5', 'version' => [8, 5]],
['name' => 'PHP-8.4', 'ref' => 'refs/heads/PHP-8.4', 'version' => [8, 4]],
['name' => 'PHP-8.3', 'ref' => 'refs/heads/PHP-8.3', 'version' => [8, 3]],
['name' => 'PHP-8.2', 'ref' => 'refs/heads/PHP-8.2', 'version' => [8, 2]],
];

function get_branch_commit_cache_file_path(): string {
Expand Down Expand Up @@ -46,10 +46,11 @@ function get_current_version(): array {
return [$major, $minor];
}

function select_jobs($nightly, $labels, $php_version, $ref, $all_variations) {
function select_jobs($repository, $trigger, $nightly, $labels, $php_version, $ref, $all_variations) {
$no_jobs = in_array('CI: No jobs', $labels, true);
$all_jobs = in_array('CI: All jobs', $labels, true) || $nightly;
$test_alpine = in_array('CI: Alpine', $labels, true);
$test_benchmarking = in_array('CI: Benchmarking', $labels, true);
$test_community = in_array('CI: Community', $labels, true);
$test_coverage = in_array('CI: COVERAGE', $labels, true);
$test_freebsd = in_array('CI: FreeBSD', $labels, true);
Expand All @@ -67,13 +68,20 @@ function select_jobs($nightly, $labels, $php_version, $ref, $all_variations) {
if (version_compare($php_version, '8.4', '>=') && ($all_jobs || !$no_jobs || $test_alpine)) {
$jobs['ALPINE'] = true;
}
if (version_compare($php_version, '8.4', '>=')
&& !$nightly
&& ($all_jobs || !$no_jobs || $test_benchmarking)
// push trigger is restricted to official repository.
&& ($repository === 'php/php-src' || $trigger === 'pull_request')) {
$jobs['BENCHMARKING'] = true;
}
if ($all_jobs || $test_community) {
$jobs['COMMUNITY']['matrix'] = version_compare($php_version, '8.4', '>=')
? ['type' => ['asan', 'verify_type_inference']]
: ['type' => ['asan']];
$jobs['COMMUNITY']['config']['symfony_version'] = version_compare($php_version, '8.4', '>=') ? '8.1' : '7.4';
}
if (($all_jobs && $ref === 'master') || $test_coverage) {
if (($all_jobs && $ref === 'refs/heads/master') || $test_coverage) {
$jobs['COVERAGE'] = true;
}
if ($all_jobs || $test_libmysqlclient) {
Expand Down Expand Up @@ -121,7 +129,7 @@ function select_jobs($nightly, $labels, $php_version, $ref, $all_variations) {
if ($all_jobs || $test_opcache_variation) {
$jobs['OPCACHE_VARIATION'] = true;
}
if (($all_jobs && $ref === 'master') || $test_pecl) {
if (($all_jobs && $ref === 'refs/heads/master') || $test_pecl) {
$jobs['PECL'] = true;
}
if ($all_jobs || !$no_jobs || $test_windows) {
Expand Down Expand Up @@ -152,19 +160,21 @@ function select_jobs($nightly, $labels, $php_version, $ref, $all_variations) {
if ($discard_cache) {
@unlink(get_branch_commit_cache_file_path());
}
$branch = $argv[3] ?? 'master';
$branches = $branch === 'master'
$branch = $argv[3] ?? 'refs/heads/master';
$nightly = $trigger === 'schedule' || $trigger === 'workflow_dispatch';
$branches = $nightly && $branch === 'refs/heads/master'
? get_branches()
: [['ref' => $branch, 'version' => get_current_version()]];
: [['name' => 'Suite', 'ref' => $branch, 'version' => get_current_version()]];

$labels = json_decode($argv[4] ?? '[]', true) ?? [];
$labels = array_column($labels, 'name');
$nightly = $trigger === 'schedule' || $trigger === 'workflow_dispatch';
$all_variations = $nightly || in_array('CI: All variations', $labels, true);

$repository = $argv[5] ?? null;

foreach ($branches as &$branch) {
$php_version = $branch['version'][0] . '.' . $branch['version'][1];
$branch['jobs'] = select_jobs($nightly, $labels, $php_version, $branch['ref'], $all_variations);
$branch['jobs'] = select_jobs($repository, $trigger, $nightly, $labels, $php_version, $branch['ref'], $all_variations);
$branch['config']['ubuntu_version'] = version_compare($php_version, '8.5', '>=') ? '24.04' : '22.04';
}

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/nightly-results.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ name: Nightly results
on:
workflow_run:
workflows:
- Nightly
- Test
types:
- completed
jobs:
on-failure:
runs-on: ubuntu-latest
if: ${{ github.repository == 'php/php-src' && github.event.workflow_run.conclusion == 'failure' }}
if: ${{ github.repository == 'php/php-src' && github.event.workflow_run.event == 'schedule' && github.event.workflow_run.conclusion == 'failure' }}
steps:
- run: |
export DEBIAN_FRONTEND=noninteractive
Expand Down
160 changes: 0 additions & 160 deletions .github/workflows/push.yml

This file was deleted.

47 changes: 0 additions & 47 deletions .github/workflows/root.yml

This file was deleted.

Loading