diff --git a/.github/actions/configure-x64/action.yml b/.github/actions/configure-x64/action.yml index 0610571b132..150ccba9af9 100644 --- a/.github/actions/configure-x64/action.yml +++ b/.github/actions/configure-x64/action.yml @@ -3,6 +3,9 @@ inputs: configurationParameters: default: '' required: false + skipSlow: + default: false + required: false asan: default: false required: false @@ -20,9 +23,9 @@ runs: --enable-fpm \ --with-pdo-mysql=mysqlnd \ --with-mysqli=mysqlnd \ - --with-pgsql \ - --with-pdo-pgsql \ - --with-pdo-sqlite \ + ${{ inputs.skipSlow == 'false' && '--with-pgsql' || '' }} \ + ${{ inputs.skipSlow == 'false' && '--with-pdo-pgsql' || '' }} \ + ${{ inputs.skipSlow == 'false' && '--with-pdo-sqlite' || '' }} \ --enable-intl \ --without-pear \ --enable-gd \ @@ -37,7 +40,7 @@ runs: --enable-soap \ --enable-xmlreader \ --with-xsl \ - --with-tidy \ + ${{ inputs.skipSlow == 'false' && '--with-tidy' || '' }} \ --enable-sysvsem \ --enable-sysvshm \ --enable-shmop \ @@ -54,14 +57,14 @@ runs: --enable-calendar \ --enable-ftp \ --with-pspell=/usr \ - --with-enchant=/usr \ + ${{ inputs.skipSlow == 'false' && '--with-enchant=/usr' || '' }} \ --with-kerberos \ --enable-sysvmsg \ --with-ffi \ --enable-zend-test \ - --enable-dl-test=shared \ - --with-ldap \ - --with-ldap-sasl \ + ${{ inputs.skipSlow == 'false' && '--enable-dl-test=shared' || '' }} \ + ${{ inputs.skipSlow == 'false' && '--with-ldap' || '' }} \ + ${{ inputs.skipSlow == 'false' && '--with-ldap-sasl' || '' }} \ --with-password-argon2 \ --with-mhash \ --with-sodium \ @@ -72,16 +75,16 @@ runs: --with-tcadb \ --with-lmdb \ --with-qdbm \ - --with-snmp \ - --with-unixODBC \ + ${{ inputs.skipSlow == 'false' && '--with-snmp' || '' }} \ + ${{ inputs.skipSlow == 'false' && '--with-unixODBC' || '' }} \ --with-imap \ --with-imap-ssl \ - --with-pdo-odbc=unixODBC,/usr \ + ${{ inputs.skipSlow == 'false' && '--with-pdo-odbc=unixODBC,/usr' || '' }} \ $([ -d "/opt/oracle/instantclient" ] && echo '--with-pdo-oci=shared,instantclient,/opt/oracle/instantclient') \ $([ -d "/opt/oracle/instantclient" ] && echo '--with-oci8=shared,instantclient,/opt/oracle/instantclient') \ --with-config-file-path=/etc \ --with-config-file-scan-dir=/etc/php.d \ - --with-pdo-firebird \ - --with-pdo-dblib \ + ${{ inputs.skipSlow == 'false' && '--with-pdo-firebird' || '' }} \ + ${{ inputs.skipSlow == 'false' && '--with-pdo-dblib' || '' }} \ --enable-werror \ ${{ inputs.configurationParameters }} diff --git a/.github/actions/test-linux/action.yml b/.github/actions/test-linux/action.yml index 350127da61e..d20c0dafa51 100644 --- a/.github/actions/test-linux/action.yml +++ b/.github/actions/test-linux/action.yml @@ -3,6 +3,9 @@ inputs: runTestsParameters: default: '' required: false + enableOpcache: + default: 'false' + required: false jitType: default: 'disable' required: false @@ -37,6 +40,7 @@ runs: fi export SKIP_IO_CAPTURE_TESTS=1 sapi/cli/php run-tests.php -P -q ${{ inputs.runTestsParameters }} \ + ${{ inputs.enableOpcache == 'true' && '-d zend_extension=opcache.so -d opcache.enable_cli=1' }} \ -d opcache.jit=${{ inputs.jitType }} \ -d opcache.jit_buffer_size=16M \ ${{ inputs.idleCpu == 'true' && '-j$(($(/usr/bin/nproc) - 1))' || '-j$(/usr/bin/nproc)' }} \ diff --git a/.github/actions/test-macos/action.yml b/.github/actions/test-macos/action.yml index c4987bbd670..2258847023c 100644 --- a/.github/actions/test-macos/action.yml +++ b/.github/actions/test-macos/action.yml @@ -3,6 +3,9 @@ inputs: runTestsParameters: default: '' required: false + enableOpcache: + default: 'false' + required: false jitType: default: 'disable' required: false @@ -15,6 +18,7 @@ runs: export SKIP_IO_CAPTURE_TESTS=1 export CI_NO_IPV6=1 sapi/cli/php run-tests.php -P -q ${{ inputs.runTestsParameters }} \ + ${{ inputs.enableOpcache == 'true' && '-d zend_extension=opcache.so -d opcache.enable_cli=1' }} \ -d opcache.jit=${{ inputs.jitType }} \ -d opcache.jit_buffer_size=16M \ -j$(($(sysctl -n hw.ncpu) - 1)) \ diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index f0f93b5a40a..1d066ec7f9a 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -90,10 +90,10 @@ jobs: - name: Test Tracing JIT uses: ./.github/actions/test-alpine with: + enableOpcache: true jitType: tracing runTestsParameters: >- --asan -x - -d opcache.enable_cli=1 - name: Extra tests uses: ./.github/actions/extra-tests LINUX_X64: @@ -185,33 +185,33 @@ jobs: - name: Test Tracing JIT uses: ./.github/actions/test-linux with: + enableOpcache: true jitType: tracing runTestsParameters: >- ${{ matrix.asan && '--asan' || '' }} ${{ (matrix.asan && !inputs.all_variations) && '-x' || '' }} ${{ matrix.repeat && '--repeat 2' || '' }} ${{ matrix.variation && '-d zend_test.observer.enabled=1 -d zend_test.observer.show_output=0' || '' }} - -d opcache.enable_cli=1 - name: Test OpCache if: ${{ inputs.all_variations }} uses: ./.github/actions/test-linux with: + enableOpcache: true runTestsParameters: >- ${{ matrix.asan && '--asan' || '' }} ${{ matrix.repeat && '--repeat 2' || '' }} ${{ matrix.variation && '-d zend_test.observer.enabled=1 -d zend_test.observer.show_output=0' || '' }} - -d opcache.enable_cli=1 - name: Test Function JIT # ASAN frequently timeouts. Each test run takes ~90 minutes, we can # avoid running into the 6 hour timeout by skipping the function JIT. if: ${{ inputs.all_variations && !matrix.asan }} uses: ./.github/actions/test-linux with: + enableOpcache: true jitType: function runTestsParameters: >- ${{ matrix.repeat && '--repeat 2' || '' }} ${{ matrix.variation && '-d zend_test.observer.enabled=1 -d zend_test.observer.show_output=0' || '' }} - -d opcache.enable_cli=1 - name: Extra tests uses: ./.github/actions/extra-tests - name: Verify generated files are up to date @@ -282,22 +282,19 @@ jobs: - name: Test Tracing JIT uses: ./.github/actions/test-linux with: + enableOpcache: true jitType: tracing - runTestsParameters: >- - -d opcache.enable_cli=1 - name: Test OpCache if: ${{ inputs.all_variations }} uses: ./.github/actions/test-linux with: - runTestsParameters: >- - -d opcache.enable_cli=1 + enableOpcache: true - name: Test Function JIT if: ${{ inputs.all_variations }} uses: ./.github/actions/test-linux with: + enableOpcache: true jitType: function - runTestsParameters: >- - -d opcache.enable_cli=1 - name: Extra tests uses: ./.github/actions/extra-tests MACOS: @@ -340,22 +337,19 @@ jobs: if: ${{ matrix.arch == 'X64' || !matrix.zts }} uses: ./.github/actions/test-macos with: + enableOpcache: true jitType: tracing - runTestsParameters: >- - -d opcache.enable_cli=1 - name: Test OpCache if: ${{ inputs.all_variations || (matrix.arch == 'ARM64' && matrix.zts) }} uses: ./.github/actions/test-macos with: - runTestsParameters: >- - -d opcache.enable_cli=1 + enableOpcache: true - name: Test Function JIT if: ${{ inputs.all_variations && (matrix.arch == 'X64' || !matrix.zts) }} uses: ./.github/actions/test-macos with: + enableOpcache: true jitType: function - runTestsParameters: >- - -d opcache.enable_cli=1 - name: Extra tests uses: ./.github/actions/extra-tests - name: Verify generated files are up to date @@ -411,9 +405,8 @@ jobs: - name: Test OpCache uses: ./.github/actions/test-linux with: + enableOpcache: true jitType: tracing - runTestsParameters: >- - -d opcache.enable_cli=1 - uses: codecov/codecov-action@v5 if: ${{ !cancelled() }} with: @@ -655,34 +648,34 @@ jobs: - name: Test File Cache (prime shm) uses: ./.github/actions/test-linux with: + enableOpcache: true runTestsParameters: >- - -d opcache.enable_cli=1 --file-cache-prime - name: Test File Cache (prime shm, use shm) uses: ./.github/actions/test-linux with: + enableOpcache: true runTestsParameters: >- - -d opcache.enable_cli=1 --file-cache-use - name: Test File Cache (prime shm, use file) uses: ./.github/actions/test-linux with: + enableOpcache: true runTestsParameters: >- - -d opcache.enable_cli=1 --file-cache-use -d opcache.file_cache_only=1 - name: Test File Cache Only (prime) uses: ./.github/actions/test-linux with: + enableOpcache: true runTestsParameters: >- - -d opcache.enable_cli=1 --file-cache-prime -d opcache.file_cache_only=1 - name: Test File Cache Only (use) uses: ./.github/actions/test-linux with: + enableOpcache: true runTestsParameters: >- - -d opcache.enable_cli=1 --file-cache-use -d opcache.file_cache_only=1 - name: Verify generated files are up to date @@ -769,9 +762,9 @@ jobs: - name: Test Opcache uses: ./.github/actions/test-linux with: + enableOpcache: true runTestsParameters: >- --msan - -d opcache.enable_cli=1 - name: Verify generated files are up to date uses: ./.github/actions/verify-generated-files LIBMYSQLCLIENT: