Cache on GHA is immutable. For this reason, hendrikmuhs/ccache-action creates a
new cache entry for each push, each with an appended timestamp, which fills the
cache very quickly. In an attempt to fix this, we've disabled the
append-timestamp option and appended a hash of php_version.h. Hence, we'll only
get a new cache file once this file is touched.
However, since this file rarely ever updates for master, we're relying on an
extremely outdated cache. To fix this, append the current year+week to rebuild
the cache each week instead, as suggested by Tim. Also use major.minor.release
version instead of the has of php_version.h for readability.
Fixes GH-14154
Closes GH-21258
* remove `libmysqlclient_with_mysqli` support from nightly workflow
* remove `libmysqlclient_with_mysqli` support from root workflow
* remove `withMysqli` support from `build-libmysqlclient` action
* remove `withMysqli` support from `test-libmysqlclient` action
* in root workflow, drop code checking for PHP 8.1
[skip ci]
The old Xcode sticks around, so make sure we sort in reverse to pick the newer
version. Technically we should use something like sort -Vr, but -V doesn't exist
on macOS. But that won't be a problem until Xcode 100, which my great great
grand children can worry about.
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
This seems like an issue that might be potentially causing issues like
GH-12901. The problem is that libs like libcurl, libldap and others use
the default OpenSSL version so this might result in linking issues.
The fact that OpenSSL 1.1.1 was actually good that we were able to have
it in the pipeline but this is just not right setup so we should find
another way how to test it at least in nightly.
Closes GH-19472
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