Merge branch 'PHP-8.4'

* PHP-8.4:
  Enable -Werror for FreeBSD build
  [skip ci] Add --no-progress to FreeBSD build
  Move FreeBSD build to GitHub actions with QEMU
This commit is contained in:
Ilija Tovilo 2024-11-20 14:29:52 +01:00
commit 3aa4973acd
No known key found for this signature in database
GPG Key ID: 5050C66BFCD1015A
4 changed files with 122 additions and 31 deletions

View File

@ -1,31 +0,0 @@
env:
CIRRUS_CLONE_DEPTH: 1
freebsd_task:
name: FREEBSD_DEBUG_NTS
timeout_in: 50m
freebsd_instance:
image_family: freebsd-13-3
skip: "changesIncludeOnly('docs/**', 'NEWS', 'UPGRADING', 'UPGRADING.INTERNALS', '**/README.*', 'CONTRIBUTING.md', 'CODING_STANDARDS.md', '.circleci/**', 'EXTENSIONS', '**.md', 'docs-old/**')"
env:
ARCH: amd64
install_script:
#- sed -i -e 's/quarterly/latest/g' /etc/pkg/FreeBSD.conf
#- pkg upgrade -y
- kldload accf_http
- pkg install -y autoconf bison gmake re2c icu libiconv png freetype2 enchant2 bzip2 t1lib gmp tidyp libsodium libzip libxml2 libxslt openssl oniguruma pkgconf webp libavif
script:
- ./buildconf -f
- ./configure --prefix=/usr/local --enable-debug --enable-option-checking=fatal --enable-fpm --with-pdo-sqlite --without-pear --with-bz2 --with-avif --with-jpeg --with-webp --with-freetype --enable-gd --enable-exif --with-zip --with-zlib --enable-soap --enable-xmlreader --with-xsl --with-libxml --enable-shmop --enable-pcntl --enable-mbstring --with-curl --enable-sockets --with-openssl --with-iconv=/usr/local --enable-bcmath --enable-calendar --enable-ftp --with-ffi --enable-zend-test --enable-dl-test=shared --enable-intl --with-mhash --with-sodium --enable-werror --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d
- gmake -j2
- mkdir /etc/php.d
- gmake install
- echo opcache.enable_cli=1 > /etc/php.d/opcache.ini
- echo opcache.protect_memory=1 >> /etc/php.d/opcache.ini
# Specify opcache.preload_user as we're running as root.
- echo opcache.preload_user=root >> /etc/php.d/opcache.ini
tests_script:
- export SKIP_IO_CAPTURE_TESTS=1
- export CI_NO_IPV6=1
- export STACK_LIMIT_DEFAULTS_CHECK=1
- sapi/cli/php run-tests.php -P -q -j2 -g FAIL,BORK,LEAK,XLEAK --no-progress --offline --show-diff --show-slow 1000 --set-timeout 120 -d zend_extension=opcache.so

104
.github/actions/freebsd/action.yml vendored Normal file
View File

@ -0,0 +1,104 @@
name: FreeBSD
runs:
using: composite
steps:
- name: FreeBSD
uses: vmactions/freebsd-vm@v1
with:
release: '13.3'
usesh: true
# Temporarily disable sqlite, as FreeBSD ships it with disabled double quotes. We'll need to fix our tests.
# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269889
prepare: |
cd $GITHUB_WORKSPACE
kldload accf_http
pkg install -y \
autoconf \
bison \
gmake \
re2c \
icu \
libiconv \
png \
freetype2 \
enchant2 \
bzip2 \
t1lib \
gmp \
tidyp \
libsodium \
libzip \
libxml2 \
libxslt \
openssl \
oniguruma \
pkgconf \
webp \
libavif \
`#sqlite3` \
curl
./buildconf -f
./configure \
--prefix=/usr/local \
--enable-debug \
--enable-option-checking=fatal \
--enable-fpm \
`#--with-pdo-sqlite` \
--without-sqlite3 \
--without-pdo-sqlite \
--without-pear \
--with-bz2 \
--with-avif \
--with-jpeg \
--with-webp \
--with-freetype \
--enable-gd \
--enable-exif \
--with-zip \
--with-zlib \
--enable-soap \
--enable-xmlreader \
--with-xsl \
--with-libxml \
--enable-shmop \
--enable-pcntl \
--enable-mbstring \
--with-curl \
--enable-sockets \
--with-openssl \
--with-iconv=/usr/local \
--enable-bcmath \
--enable-calendar \
--enable-ftp \
--with-ffi \
--enable-zend-test \
--enable-dl-test=shared \
--enable-intl \
--with-mhash \
--with-sodium \
--enable-werror \
--with-config-file-path=/etc \
--with-config-file-scan-dir=/etc/php.d
gmake -j2
mkdir /etc/php.d
gmake install > /dev/null
echo opcache.enable_cli=1 > /etc/php.d/opcache.ini
echo opcache.protect_memory=1 >> /etc/php.d/opcache.ini
echo opcache.preload_user=root >> /etc/php.d/opcache.ini
run: |
cd $GITHUB_WORKSPACE
export SKIP_IO_CAPTURE_TESTS=1
export CI_NO_IPV6=1
export STACK_LIMIT_DEFAULTS_CHECK=1
sapi/cli/php run-tests.php \
-P -q -j2 \
-g FAIL,BORK,LEAK,XLEAK \
--no-progress \
--offline \
--show-diff \
--show-slow 1000 \
--set-timeout 120 \
-d zend_extension=opcache.so

View File

@ -981,3 +981,13 @@ jobs:
run: .github/scripts/windows/build.bat
- name: Test
run: .github/scripts/windows/test.bat
FREEBSD:
name: FREEBSD
runs-on: ubuntu-latest
steps:
- name: git checkout
uses: actions/checkout@v4
with:
ref: ${{ inputs.branch }}
- name: FreeBSD
uses: ./.github/actions/freebsd

View File

@ -359,3 +359,11 @@ jobs:
name: profiles
path: ${{ github.workspace }}/benchmark/profiles
retention-days: 30
FREEBSD:
name: FREEBSD
runs-on: ubuntu-latest
steps:
- name: git checkout
uses: actions/checkout@v4
- name: FreeBSD
uses: ./.github/actions/freebsd