-
-
Notifications
You must be signed in to change notification settings - Fork 20
Initial PHP 8.1 support #48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Signed-off-by: Maximilian Bösing <[email protected]>
Signed-off-by: Maximilian Bösing <[email protected]>
Signed-off-by: Maximilian Bösing <[email protected]>
- Every PHP version has its own setup strategy - Base system has dedicated `ubuntu` strategy - Markdownlint has its own strategy Signed-off-by: Maximilian Bösing <[email protected]>
Signed-off-by: Maximilian Bösing <[email protected]>
This will check if an extension is already enabled by the PHP version compiled within this action. Afterwards, it will check if it is pre-compiled but not yet enabled for the PHP version. If both checks fail, an extension is marked to be installed. For PHP 8.1, we do not yet support dynamic installation of extensions as we do for earlier PHP versions. This is due to the fact that PHP 8.1 is not yet provided by the Sury debian repository. Signed-off-by: Maximilian Bösing <[email protected]>
Signed-off-by: Maximilian Bösing <[email protected]>
… that needs to be addressed Signed-off-by: Maximilian Bösing <[email protected]>
Signed-off-by: Maximilian Bösing <[email protected]>
Signed-off-by: Maximilian Bösing <[email protected]>
Signed-off-by: Maximilian Bösing <[email protected]>
Signed-off-by: Maximilian Bösing <[email protected]>
Signed-off-by: Maximilian Bösing <[email protected]>
Signed-off-by: Maximilian Bösing <[email protected]>
Signed-off-by: Maximilian Bösing <[email protected]>
Modules may depend on each other and thus, if one is enabled (e.g. `redis`), it will also require `msgpack`, `igbinary` and stuff to be enabled on PHP 8.1 Signed-off-by: Maximilian Bösing <[email protected]>
…eady enabled Signed-off-by: Maximilian Bösing <[email protected]>
This PR lacks support for swoole on PHP 8.1. |
But on the flip side... caches WERE created and pushed: https://github.com/laminas/laminas-continuous-integration-action/pull/48/checks?check_run_id=3376558303#step:8:9001 🎉 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚢
RUN cd /setup/php/7.3 && bash setup.sh | ||
RUN cd /setup/php/7.4 && bash setup.sh | ||
RUN cd /setup/php/8.0 && bash setup.sh | ||
RUN cd /setup/php/8.1 && bash setup.sh |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like this break-down, as it means that we likely won't need to rebuild most layers unless a change actually occurs to an individual script. That said, I see one potential issue being that forcing a rebuild to pick up a new bugfix release may be harder.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, this is indeed an issue.
I will think about it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
GitHub will remove any cache entries that have not been accessed in over 7 days.
Maybe we won't have any issues due to this fact?
Description
This provides initial support for PHP 8.1.
This setup is very basic and currently only supports pre-compiled extensions by https://github.com/shivammathur/php-builder.
These extensions are:
The
xdebug
extension is also available but disabled by default (the same way as in all other PHP versions).pcov
is also available and can be enabled.If any project needs more than these extensions, they need to install these by themselves by using the
pre-run.sh
script which is being executed on each run.This supersedes #46