Skip to content

Commit

Permalink
Merge pull request #21 from mlocati/master
Browse files Browse the repository at this point in the history
Fork Sync: Update from parent repository
  • Loading branch information
vanderletenpartners authored Jul 1, 2024
2 parents c06d55a + 732fe65 commit 4e97866
Show file tree
Hide file tree
Showing 7 changed files with 121 additions and 25 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/monitor-php8.3.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
IPETEST_ONLY_PHPVERSIONS: "8.3"
steps:
- name: Checkout
uses: actions/checkout@v1
uses: actions/checkout@v4
- name: Test extensions
run: ./scripts/ci-test-extensions all
- name: Notify failures
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/readme-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
(github.event_name == 'push' && github.ref == 'refs/heads/master')
|| (github.event_name == 'create' && github.event.ref_type == 'tag')
|| github.event_name == 'repository_dispatch'
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
ref: master
fetch-depth: 0
Expand Down
25 changes: 13 additions & 12 deletions .github/workflows/test-extensions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Check order supported extensions list
run: |
sort -o data/supported-extensions.sorted data/supported-extensions
Expand All @@ -29,13 +29,14 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Install Go
uses: actions/setup-go@v2
uses: actions/setup-go@v5
with:
go-version: "1.21.0"
cache: false
- name: Install shfmt
run: GO111MODULE=on go install mvdan.cc/sh/v3/cmd/[email protected]
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Check coding style
run: ./scripts/invoke-shfmt check
check_syntax_php:
Expand All @@ -48,7 +49,7 @@ jobs:
php-version: "7.4"
tools: composer
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Install Composer dependencies
run: composer install --no-progress --classmap-authoritative
- name: Check coding style
Expand Down Expand Up @@ -84,7 +85,7 @@ jobs:
IPETEST_DOCKER_DISTRO: ${{ matrix.distro }}
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Test extensions
Expand All @@ -98,7 +99,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
- run: docker run --rm --volume "$(pwd):/app" --workdir /app php:8.2-bullseye ./scripts/test-restore-apt
test_custom_version:
name: Test installing specific versions
Expand All @@ -118,7 +119,7 @@ jobs:
- ^2.8@stable
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
- run: docker run --rm --volume "$(pwd):/app" --workdir /app php:7.4-alpine ./scripts/test-installversion "${{ matrix.xdebug_version }}"
test_composer:
name: Test installing composer
Expand All @@ -135,7 +136,7 @@ jobs:
- '2.0.1'
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
- run: |
docker run --rm --volume "$(pwd):/app" --workdir /app php:7.4-alpine ./scripts/test-installcomposer "${{ matrix.composer_version }}"
test_marking_packages:
Expand All @@ -152,7 +153,7 @@ jobs:
- buster
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
- run: docker run --rm --volume "$(pwd):/app" --workdir /app "php:7.4-${{ matrix.distro }}" "./scripts/ci-markused-${{ matrix.distro }}"
test_instantclient_basic:
name: Test using Oracle Instant Client Basic
Expand All @@ -164,7 +165,7 @@ jobs:
container: php:8.1-cli-alpine
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- run: IPE_INSTANTCLIENT_BASIC=1 ./install-php-extensions oci8 pdo_oci
test_install_fromsource:
name: Test installing from source
Expand Down Expand Up @@ -192,7 +193,7 @@ jobs:
source: php-memcached-dev/[email protected]
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- run: ./install-php-extensions ${{ matrix.source }}
test_upgrading_icu_data_en:
name: Test that icu-data-en can be upgraded
Expand All @@ -203,5 +204,5 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- run: docker run --rm --volume "$(pwd):/app" --workdir /app php:8.2-cli-alpine ./scripts/test-icu-data-en-upgradable
4 changes: 2 additions & 2 deletions .github/workflows/test-recent-extensions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v1
uses: actions/checkout@v4
- name: Retrieve recently updated extensions
run: ./scripts/ci-retrieve-recent-extensions >extensions-updated.txt
- name: Filter supported extensions
Expand Down Expand Up @@ -58,7 +58,7 @@ jobs:
IPETEST_DOCKER_DISTRO: ${{ matrix.distro }}
steps:
- name: Checkout
uses: actions/checkout@v1
uses: actions/checkout@v4
- name: Loading list of extensions to be tested
uses: actions/download-artifact@v1
with:
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -341,7 +341,7 @@ install-php-extensions @fix_letsencrypt
| xsl | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| yac | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| yaml | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| yar | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | |
| yar | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| zephir_parser | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| zip | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| zmq | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Expand Down Expand Up @@ -421,6 +421,7 @@ Here's the list of all the supported environment variables:
| pspell | `IPE_ASPELL_LANGUAGES='...'` | Configure the languages to be made available (for example: `IPE_ASPELL_LANGUAGES='en fr'`). If omitted, we'll assume `en` |
| | `IPE_DEB_ARCHIVE` & `IPE_DEB_ARCHIVE_SECURITY` | The APT packages of very old Debian versions (eg Jessie) may have been archived: you can use these environment variables to specify custom URLs of these APT archives |
| newrelic | `IPE_NEWRELIC_DAEMON=1` | Install the NewRelic daemon |
| newrelic | `IPE_NEWRELIC_KEEPLOG=1` | Keep the log files of NewRelic setup (`/tmp/nrinstall-….tar`) |
| newrelic | `NR_INSTALL_KEY` | Your New Relic license key |

## Special requirements
Expand Down
2 changes: 1 addition & 1 deletion data/supported-extensions
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ xmlrpc 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
xsl 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
yac 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
yaml 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
yar 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1
yar 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
zephir_parser 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
zip 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
zmq 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
Expand Down
108 changes: 101 additions & 7 deletions install-php-extensions
Original file line number Diff line number Diff line change
Expand Up @@ -1354,6 +1354,9 @@ buildRequiredPackageLists() {
if test $PHP_MAJMIN_VERSION -ge 702; then
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent c-ares"
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile c-ares-dev"
if test $PHP_MAJMIN_VERSION -ge 801; then
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile sqlite-dev"
fi
fi
;;
swoole@debian)
Expand All @@ -1362,9 +1365,13 @@ buildRequiredPackageLists() {
if test $PHP_MAJMIN_VERSION -ge 702; then
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libc-ares2"
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libc-ares-dev"
fi
if test $PHP_MAJMIN_VERSION -ge 800; then
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zlib1g-dev"
if test $PHP_MAJMIN_VERSION -ge 800; then
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libbrotli1"
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile zlib1g-dev libbrotli-dev"
if test $PHP_MAJMIN_VERSION -ge 801; then
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libsqlite3-dev"
fi
fi
fi
;;
sybase_ct@alpine)
Expand Down Expand Up @@ -2446,6 +2453,12 @@ installNewRelic() {
NR_INSTALL_USE_CP_NOT_LN=1 NR_INSTALL_SILENT=1 ./newrelic-install install_daemon
;;
esac
case "${IPE_NEWRELIC_KEEPLOG:-}" in
1 | y* | Y*) ;;
*)
rm -f /tmp/nrinstall-*.tar
;;
esac
cd - >/dev/null
cat <<EOT
NewRelic has been installed from $installNewRelic_url
Expand Down Expand Up @@ -3811,6 +3824,21 @@ installRemoteModule() {
elif test $PHP_BITS -eq 32; then
# See https://github.com/swoole/swoole-src/issues/5198#issuecomment-1820162178
installRemoteModule_version="$(resolvePHPModuleVersion "$installRemoteModule_module" '^5.0')"
else
case "$DISTRO" in
alpine)
if test $DISTRO_MAJMIN_VERSION -le 312; then
installRemoteModule_version=5.1.2
fi
;;
esac
fi
if test -z "$installRemoteModule_version"; then
if test $PHP_MAJMIN_VERSION -le 800; then
installRemoteModule_version=5.1.3
else
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" stable)"
fi
fi
else
installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"
Expand All @@ -3823,19 +3851,85 @@ installRemoteModule() {
installRemoteModule_openssl=yes
case "$DISTRO_VERSION" in
[email protected] | [email protected])
if test -n "$installRemoteModule_version" && test $(compareVersions "$installRemoteModule_version" 4.6.0) -lt 0; then
if test $(compareVersions "$installRemoteModule_version" 4.6.0) -lt 0; then
# see https://github.com/swoole/swoole-src/issues/3934
installRemoteModule_openssl=no
fi
;;
esac
if test $PHP_MAJMIN_VERSION -eq 803; then
# see https://github.com/swoole/docker-swoole/issues/45
if test $PHP_MAJMIN_VERSION -ge 800; then
# see https://github.com/swoole/swoole-src/issues/5365
installRemoteModule_curl=no
else
installRemoteModule_curl=yes
fi
if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 5.0.1) -ge 0; then
if test $PHP_THREADSAFE -eq 1; then
installRemoteModule_zts=yes
else
installRemoteModule_zts=no
fi
installRemoteModule_sqlite=yes
case "$DISTRO" in
alpine)
if test $DISTRO_MAJMIN_VERSION -lt 317; then
# we need sqlite3 >= 3.7.7
installRemoteModule_sqlite=no
fi
;;
debian)
if test $DISTRO_MAJMIN_VERSION -lt 1200; then
# we need sqlite3 >= 3.7.7
installRemoteModule_sqlite=no
fi
;;
esac
if test $(compareVersions "$installRemoteModule_version" 6.0.0) -ge 0; then
# enable sockets supports?
addConfigureOption enable-sockets $installRemoteModule_sockets
# enable openssl support?
addConfigureOption enable-openssl $installRemoteModule_openssl
# enable mysqlnd support?
addConfigureOption enable-mysqlnd yes
# enable curl support?
addConfigureOption enable-swoole-curl $installRemoteModule_curl
# enable cares support?
addConfigureOption enable-cares yes
# enable brotli support?
addConfigureOption enable-brotli yes
# enable PostgreSQL database support?
addConfigureOption enable-swoole-pgsql yes
# enable ODBC database support?
addConfigureOption with-swoole-odbc no
# enable Oracle database support?
addConfigureOption with-swoole-oracle no
# enable Sqlite database support?
addConfigureOption enable-swoole-sqlite $installRemoteModule_sqlite
# enable swoole thread support (need php zts support)?
addConfigureOption enable-swoole-thread $installRemoteModule_zts
# enable iouring for file async support?
addConfigureOption enable-iouring yes
elif test $(compareVersions "$installRemoteModule_version" 5.1.0) -ge 0; then
# enable sockets supports?
addConfigureOption enable-sockets $installRemoteModule_sockets
# enable openssl support?
addConfigureOption enable-openssl $installRemoteModule_openssl
# enable mysqlnd support?
addConfigureOption enable-mysqlnd yes
# enable curl support?
addConfigureOption enable-swoole-curl $installRemoteModule_curl
# enable cares support?
addConfigureOption enable-cares yes
# enable brotli support?
addConfigureOption enable-brotli yes
# enable PostgreSQL database support?
addConfigureOption enable-swoole-pgsql yes
# enable ODBC database support?
addConfigureOption with-swoole-odbc no
# enable Oracle database support?
addConfigureOption with-swoole-oracle no
# enable Sqlite database support?
addConfigureOption enable-swoole-sqlite $installRemoteModule_sqlite
elif test $(compareVersions "$installRemoteModule_version" 5.0.1) -ge 0; then
# enable sockets supports?
addConfigureOption enable-sockets $installRemoteModule_sockets
# enable openssl support?
Expand Down

0 comments on commit 4e97866

Please sign in to comment.