diff --git a/.github/workflows/monitor-php8.3.yml b/.github/workflows/monitor-php8.3.yml index 31e49d3d..9eb6679c 100644 --- a/.github/workflows/monitor-php8.3.yml +++ b/.github/workflows/monitor-php8.3.yml @@ -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 diff --git a/.github/workflows/readme-release.yml b/.github/workflows/readme-release.yml index 5adba788..e8a91b11 100644 --- a/.github/workflows/readme-release.yml +++ b/.github/workflows/readme-release.yml @@ -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 diff --git a/.github/workflows/test-extensions.yml b/.github/workflows/test-extensions.yml index 102e4a78..74c6e9b2 100644 --- a/.github/workflows/test-extensions.yml +++ b/.github/workflows/test-extensions.yml @@ -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 @@ -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/shfmt@v3.7.0 - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Check coding style run: ./scripts/invoke-shfmt check check_syntax_php: @@ -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 @@ -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 @@ -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 @@ -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 @@ -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: @@ -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 @@ -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 @@ -192,7 +193,7 @@ jobs: source: php-memcached-dev/php-memcached@v3.2.0RC2 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 @@ -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 diff --git a/.github/workflows/test-recent-extensions.yml b/.github/workflows/test-recent-extensions.yml index 405eb29c..faa7e985 100644 --- a/.github/workflows/test-recent-extensions.yml +++ b/.github/workflows/test-recent-extensions.yml @@ -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 @@ -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: diff --git a/README.md b/README.md index eb29b2fd..93f1e462 100644 --- a/README.md +++ b/README.md @@ -341,7 +341,7 @@ install-php-extensions @fix_letsencrypt | xsl | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | yac | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | yaml | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | -| yar | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | +| yar | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | zephir_parser | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | zip | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | zmq | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | @@ -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 diff --git a/data/supported-extensions b/data/supported-extensions index ae1835f6..2d9e7c68 100644 --- a/data/supported-extensions +++ b/data/supported-extensions @@ -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 diff --git a/install-php-extensions b/install-php-extensions index 22f4c5f7..7095b6d5 100755 --- a/install-php-extensions +++ b/install-php-extensions @@ -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) @@ -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) @@ -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 <= 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?