1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 16:22:37 +01:00
Commit Graph

112 Commits

Author SHA1 Message Date
Ilija Tovilo
cb413b5d5f Update clang in macOS build
This resolves a crash in release builds. This may be dropped again in the
future once the bugfix lands.

Co-authored by Alexandre Daubois <alex.daubois@gmail.com>
Co-authored by Arnaud Le Blanc <arnaud.lb@gmail.com>
Co-authored by Jakub Zelenka <bukka@php.net>

Closes GH-20669
2025-12-08 23:10:26 +01:00
Ilija Tovilo
599d5ae64c [skip ci] Fix Symfony PHP requirements in community build
Symfony 8.1 and 8.0 now require PHP 8.4. Use 7.4 for PHP 8.3 and 8.2 builds. PHP
8.1 continues to be skipped. Sadly, this will need to be updated sporadically.

Closes GH-20512
2025-11-18 00:51:39 +01:00
Ilija Tovilo
7877de29e0 [skip ci] Fix nightly notification workflow url
jobs_url is a link to the api, rather than the website.

Also tweak wording, as we now only send one notification per workflow, rather
than per failed job.
2025-10-21 17:57:30 +02:00
Ilija Tovilo
90bc40ecc0 Create separate workflow for nightly slack notification
Closes GH-20248
2025-10-20 22:49:21 +02:00
Arnaud Le Blanc
66708de841 Upgrade Alpine in nightly job
Closes GH-20044
2025-10-07 10:58:36 +02:00
Ilija Tovilo
be5b2bf4b8 [skip ci] Add --enable-zend-max-execution-timers to variation nightly build
Only enable for 8.3 because of GH-19786.
2025-09-11 14:59:39 +02:00
Tim Düsterhus
2650248a92 Update GitHub Action workflows to actions/checkout@v5
Keep this up to date in all non-security-only branches, because the node.js
runtime for older versions might get deprecated in the future and fixing this
for all branches at once is easier.

see 45e60e585e
2025-08-13 19:06:09 +02:00
Ilija Tovilo
abb7f2879e [skip ci] Add timeout for FreeBSD
Unfortunately, these jobs routinely fail to boot correctly. In this case,
they'll stall and block CI for 6 hours until they finally fail. Add a limit to
make them fail earlier.
2025-08-12 14:17:33 +02:00
Ilija Tovilo
2cd9233e42 Fix ERROR_CODE handling in COMMUNITY build
We need || because a non-0 return from the application aborts the execution of
the job.
2025-08-07 13:54:55 +02:00
Ilija Tovilo
0ac37fb74d [skip ci] Fix Symfony COMMUNITY build for new phpunit version
--exclude-group no longer accepts a comma-separated list. Doc block comments are
no longer supported, switch to attributes.
2025-08-06 15:07:45 +02:00
Ilija Tovilo
a63e97667e COMMUNTIY build grouping adjustments
Unconditionally execute assignment of EXIT_CODE. Otherwise, the variable bleeds
into the next iteration. Also add newline before ::endgroup::. ASAN does not add
a trailing newline.
2025-08-06 14:18:43 +02:00
Ilija Tovilo
1c65cc3998 [skip ci] Group component output in community job 2025-08-05 15:43:46 +02:00
Ilija Tovilo
e9e432a35d Upgrade to macOS 14 and backport necessary changes 2025-08-04 22:12:30 +02:00
Arnaud Le Blanc
b633720585 Add unique entry point for extra tests
We are adding extra (non-phpt) test suites in [1] and [2]. In order to
avoid touching CI files too often (which are maintained in 8.1 and merged in
upper branches), we add a single entry point to call the extra tests. The entry
point can be updated in branches without synchronizing all the way from 8.1.

CI files still need to be touched to install dependencies of these tests,
but this should be manageable as these do not change often and are the same
in every branch.

Closes GH-19242.

[1] https://github.com/php/php-src/pull/16987
[2] https://github.com/php/php-src/pull/18939
2025-07-26 16:13:34 +02:00
Shivam Mathur
8ddc210bf7 Fix PHP_BUILD_CRT input in the nightly workflow (#18982) 2025-06-30 20:00:25 +05:30
Arnaud Le Blanc
85522c0d48 Add FreeBSD ZTS nightly build
Closes GH-18959
2025-06-30 11:47:26 +02:00
Shivam Mathur
6233dc6210 Switch to windows-2022 in CI (#18927)
* Switch to windows-2022 in CI

windows-2019 runner will be dropped by GitHub on 2025-06-30.

* xfail test cases that fail on windows-2022
2025-06-25 01:57:07 +05:30
Ilija Tovilo
0a42e6fbc5 Use --ignore-platform-req=php+ in community build
--ignore-platform-reqs may accidentally install versions of dependencies
that no longer support the given PHP version. --ignore-platform-req=php+
will only suppress errors for new PHP version but not change behavior
for older versions. Thanks to Tim for the hint.

Also skip the Laravel build for PHP 8.1, which is no longer supported on
Laravel's default branch.
2025-04-28 17:04:54 +02:00
Ilija Tovilo
7a3383b482 [skip ci] Restrict on-push freebsd build to main repo
The same applies to all other push jobs, it was just forgotten here.
2025-04-03 13:01:59 +02:00
Calvin Buckley
5e8aff2c5f Remove "Notify Slack" on ppc nightly workflow (#17993)
We get weird failures at here, and Ilija was talking about possibly
removing it in general.
2025-03-07 10:39:14 -04:00
Ilija Tovilo
5fcc8d4cd1 Upgrade security branches to Ubuntu 22.04
20.04 goes out of security support in 2 months. Backporting various
commits.

See d98963a071
See af721c9c36
See 378b79b90c

Closes GH-17963
2025-03-06 15:24:15 +01:00
Calvin Buckley
4694c3e997 Attempt at ppc64 CI (#17945)
This assumes gentoo (which has best ppc64be support of mainstream
distributions).

(Rebased onto the new workflow_call approach)
2025-03-03 10:04:02 -04:00
Ilija Tovilo
e71b8cae7e [skip ci] Use laravel default branch in community build
See: https://github.com/laravel/framework/issues/54754#issuecomment-2678092563

According to this comment, the default branch more actively receives
changes throuought the year than master. Hence, it makes more sense to
test the default branch.
2025-02-24 15:58:04 +01:00
Shivam Mathur
f4aadb5537 ci: add workflow to trigger windows builds 2025-02-14 23:32:30 +00:00
Ilija Tovilo
3e6f4702ba Fix GHA config yml error 2025-01-24 15:43:22 +01:00
Ilija Tovilo
5b32011fb5 [skip ci] Use !cancelled() over always() in GHA config
According to the documentation, !cancelled() should be used over
always() when the step should be executed regardless of success of
failure, but canceled when the workflow is canceled.

See https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/evaluate-expressions-in-workflows-and-actions#always
2025-01-24 14:27:15 +01:00
Ilija Tovilo
5b8c960c9f Skip Symfony/Wordpress in 8.1 build
There are two issues: The latest Symfony branches don't support 8.1
anymore. This could ber mitigated by switching to LTS for security
builds. However, there are also some JIT bugs that are hard to backport.
We'll skip these builds on 8.1 instead.
2025-01-24 14:11:55 +01:00
Ilija Tovilo
f26250c7c7 Backport nightly.yml
This file should stay up-to-date for consistent behavior across workflow
triggers.
2025-01-24 12:24:39 +01:00
Ilija Tovilo
aca88baf5f Move FreeBSD build to GitHub actions with QEMU
Closes GH-16822
2024-11-20 14:24:02 +01:00
Ilija Tovilo
e23ac8341a [skip ci] Don't test mysqli with libmysqlclient 8.4
There are compile errors with 8.4 that we are no longer fixing.
2024-11-20 14:19:02 +01:00
Ilija Tovilo
9acf0a4009 [skip ci] Backport GA root workflow changes 2024-11-20 13:41:39 +01:00
Ilija Tovilo
e72854e8bc [skip ci] Fix nightly workflow dispatch
Closes GH-16662
2024-11-04 15:02:11 +01:00
Ilija Tovilo
6c8a0d0163 [skip ci] Properly disable -Werror for libmysqlclient + mysqli 2024-10-31 13:43:39 +01:00
Ilija Tovilo
8a067cc221 [skip ci] Revert "Remove -Werror for libmysql test on 8.1 only"
This reverts commit 769947648e.

Nightly uses the file from master, so this change made no sense.
2024-10-31 13:40:26 +01:00
Ilija Tovilo
490acdf5e9 [skip ci] Fix nightly job name for 8.1 2024-10-31 13:37:23 +01:00
Ilija Tovilo
08bbd7d167 [skip ci] Move nightly to workflow_call
This PR removes most of the logic of nightly_matrix.php by converting
nightly.yml to a workflow_call, and invoking it multiple times for each branch
in a new root.yml workflow. The naming of the files is intentionally kept to
make the diff readable. They may still be renamed afterward.

Closes GH-16642
2024-10-30 16:53:55 +01:00
Ilija Tovilo
769947648e Remove -Werror for libmysql test on 8.1 only 2024-10-30 14:47:15 +01:00
Ilija Tovilo
560a585117 [CI] Backport usage of db service for 8.1
Nightly already uses them. We're running into port clashes otherwise.

Closes GH-16647
2024-10-30 12:20:42 +01:00
Ilija Tovilo
27e8860594 Backport nightly.yml and nightly_matrix.php to PHP-8.1
These files are usually only used on master, as the cron trigger runs on master.
However, workflow_dispatch does use the file from the triggered branch.
Furthermore, we're looking into migrating to a workflow_call trigger, which will
also run on the target branch. Backport these files now to make those changes
easier.
2024-10-29 15:30:34 +01:00
Ilija Tovilo
25c0993902 Backport CI fixes to security branches
Closes GH-16469

Working towards GH-16286

commit e0db221143b808d97bc3a44e9f0968c6308794b4
Author: Ilija Tovilo <ilija.tovilo@me.com>
Date:   Fri Oct 25 22:48:20 2024 +0200

    Move CFLAGS into ./configure command for consistency

commit 8ad67768250d181cd7fef30e0c866625bbd8ac94
Author: Ilija Tovilo <ilija.tovilo@me.com>
Date:   Fri Oct 25 22:47:03 2024 +0200

    Also upgrade nightly to macOS 13

commit 58a88ccb9f
Author: Ilija Tovilo <ilija.tovilo@me.com>
Date:   Wed Oct 23 19:07:59 2024 +0200

    Fix call to dc[n]gettext in tests with 0 $category

    This causes a segfault on PHP-8.1

commit 611af05c50
Author: Ilija Tovilo <ilija.tovilo@me.com>
Date:   Fri Dec 8 13:36:52 2023 +0100

    [skip ci] Skip intermittently failing curl test on macOS

    The test fails with "CURL ERROR: 56". I will create an issue for it shortly.

commit ec745178bb
Author: Ilija Tovilo <ilija.tovilo@me.com>
Date:   Wed Oct 23 19:05:32 2024 +0200

    Backport parts of 9999a0c for gettext

    See 9999a0cb75

commit 5ce703496f
Author: Niels Dossche <7771979+nielsdos@users.noreply.github.com>
Date:   Sun Jul 28 14:34:26 2024 +0200

    Fix CI failure on macOS after Curl update

commit 714a3e7071
Author: Niels Dossche <7771979+nielsdos@users.noreply.github.com>
Date:   Sat Jul 27 16:09:50 2024 +0200

    Fix CI failure after Curl update (#15124)

commit 4f2eb921b9
Author: Niels Dossche <7771979+nielsdos@users.noreply.github.com>
Date:   Thu May 23 22:20:37 2024 +0200

    Fix GH-14307: Test curl_basic_024 fails with curl 8.8.0

    Curl changed the behaviour, from the changelog:
      - lib: make protocol handlers store scheme name lowercase curl/curl@c294f9c

    From the docs: "The returned scheme might be upper or lowercase. Do
    comparisons case insensitively."

    Closes GH-14312.

commit 251195b41b
Author: Ayesh Karunaratne <ayesh@aye.sh>
Date:   Thu Feb 1 02:03:55 2024 +0700

    ext/curl: Fix failing tests due to string changes in libcurl 8.6.0

    Upstream libcurl 8.6.0 contains a change[^1] that caused a test failure.
    This fixes it by updating the test's `EXPECTF` to use a regex to account for both string patterns.

    [^1]: https://github.com/curl/curl/commit/45cf4755e71f#diff-a8a54563608f8155973318f4ddb61d7328dab512b8ff2b5cc48cc76979d4204cL1683

    Closes GH-13293.

commit fc5d83f2b1
Author: Christoph M. Becker <cmbecker69@gmx.de>
Date:   Wed Oct 16 22:46:20 2024 +0200

    Prepare for necessary move to macOS 13

    GH will remove macOS 12 runner images as of December 3rd, so we prepare
    for that.

    Besides the obvious need to change the runner, we also suppress a
    couple of warnings, because otherwise the build would fail due to
    `-Werror`.
2024-10-28 15:57:16 +01:00
Christoph M. Becker
0b5167cff5 [skip ci] Allow to run push workflows manually
As is, we're running the push workflow for all pushes and pull request,
plus we run more comprehensive nightly workflow for all branches which
had commits during the day.  That means that security branches may not
run CI for weeks or even months.  In the meantime, dependencies might
be updated, which can cause later workflow runs to fail.  For instance,
a few openssl tests fail due to security fixes in OpenSSL[1], an update
of Oracle Instant Client causes a couple of oci8 and pdo_oci tests to
fail[2], and the macOS builds do no longer even built (investigation
pending).

Therefore, we allow to run the pull workflow manually, so it is
possible to check the CI condition of temporary inactive branches from
time to time.

[1] <https://github.com/php/php-src/pull/16097>
[2] <https://github.com/php/php-src/pull/16107>

Closes GH-16148.
2024-10-10 02:11:59 +02:00
Christoph M. Becker
d9d82377cc Update Windows CI to use php-sdk-2.3.0
php-sdk-2.2.0 still fetches dependencies from the no longer up to date
<https://windows.php.net/downloads/php-sdk/deps/>, and as such won't be
tested with any security updates we provide for Windows.  Given that
PHP 8.1 is going to receive security updates for further 15 months, we
should should not ignore these dependency updates.

Closes GH-16097.
2024-10-07 01:05:47 +02:00
Ilija Tovilo
469ad32581 [skip ci] Backport 0e7ef95 and 4f0d4c0 2024-04-21 16:11:55 +02:00
Ilija Tovilo
0e8205bd9a Use attribute for ignoring Laravel test
Apparently `@group` stopped working.
2023-10-31 11:48:08 +01:00
Ilija Tovilo
b0bac336b3 [skip ci] Fix laravel community build
FilesystemTest::testSharedGet() uses too much memory and crashes GA. It was
already ignored by adding the `@skip` attribute, but the code changed and the
replacement stopped working.

Closes GH-12570
2023-10-30 17:56:38 +01:00
Ilija Tovilo
c3d2f519d0 [skip ci] Update mysql 5.7 patch 2023-10-30 16:50:30 +01:00
Ilija Tovilo
734afa0ba8 Fix JIT on nightly
The JIT was accidentally disabled in nightly on lower branches because
jit_buffer_size woudln't be passed from nightly.yml on master anymore.
2023-10-13 11:41:52 +02:00
Ilija Tovilo
4332546bbf Move ARM build to CircleCI
Closes GH-12415
2023-10-12 13:11:38 +02:00
Ilija Tovilo
36a87e6d32 Minimal backport of 098d9ca 2023-10-04 15:31:04 +02:00
Ilija Tovilo
55ed7690f4 Upgrade to macOS 12 in CI
We get some mysterious failures on macOS on GA with no evident error. This is a
blind attempt to solve it. There are many similar reports but there's no clear
resolution.

https://github.com/actions/runner-images/issues/7509#issuecomment-1538294874

Closes GH-12210
2023-09-15 12:04:07 +02:00