Merge branch 'PHP-8.3' into PHP-8.4 #1453
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: [PHP-8.4] | |
paths-ignore: | |
- 'docs/**' | |
- '.editorconfig' | |
- '.gitignore' | |
- 'CHANGELOG.md' | |
- 'README.md' | |
pull_request: | |
branches: [PHP-8.4] | |
paths-ignore: | |
- 'docs/**' | |
- '.editorconfig' | |
- '.gitignore' | |
- 'CHANGELOG.md' | |
- 'README.md' | |
jobs: | |
linux: | |
name: Linux.${{ matrix.os.label }}.${{ matrix.compiler.name }}.${{ matrix.generator }} | |
runs-on: ${{ matrix.os.label }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- { label: ubuntu-latest } | |
compiler: | |
- { name: GNU13, CC: gcc-13, CXX: g++-13, packages: gcc-13 g++-13 } | |
- { name: LLVM15, CC: clang-15, CXX: clang++-15, packages: clang-15 libomp-15-dev llvm-15-dev libc++-15-dev libc++abi1-15 lld-15 clang-tools-15 mlir-15-tools libmlir-15-dev } | |
build_type: | |
- Release | |
target: | |
- build | |
generator: | |
- Unix Makefiles | |
php: | |
- 8.4-dev | |
env: | |
CC: ${{ matrix.compiler.CC }} | |
CXX: ${{ matrix.compiler.CXX }} | |
SRC_DIR: ${{ github.workspace }}/php-src | |
BINARY_DIR: ${{ github.workspace }}/php-src | |
INSTALL_PREFIX: ${{ github.workspace }}/php-src/install | |
CMAKE_BUILD_TYPE: ${{ matrix.build_type }} | |
GENERATOR: ${{ matrix.generator }} | |
TARGET: ${{ matrix.target }} | |
steps: | |
- name: Install compiler ${{ matrix.compiler.name }} | |
run: | | |
# Remove azure mirror because it is unreliable and sometimes unpredictably leads to failed CI | |
sudo sed -i 's/azure\.//' /etc/apt/sources.list | |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test | |
sudo add-apt-repository -y universe | |
sudo add-apt-repository -y multiverse | |
sudo apt-get update | |
sudo apt-get -y install \ | |
${{ matrix.compiler.packages }} | |
- name: Install base dependencies | |
run: | | |
sudo apt-get -y install \ | |
build-essential \ | |
bison \ | |
libssl-dev \ | |
libpcre++-dev \ | |
libsqlite3-dev \ | |
libbz2-dev \ | |
libcurl4-openssl-dev \ | |
libdb5.3++-dev \ | |
libenchant-2-dev \ | |
libpng-dev \ | |
libgmp-dev \ | |
libjpeg-dev \ | |
libxpm-dev \ | |
libfreetype-dev \ | |
libldap2-dev \ | |
unixodbc-dev \ | |
freetds-dev \ | |
libsnmp-dev \ | |
snmp \ | |
apache2-dev \ | |
firebird-dev \ | |
libsodium-dev \ | |
libicu-dev \ | |
libzip-dev \ | |
libaspell-dev \ | |
libavif-dev \ | |
libwebp-dev \ | |
libxpm-dev \ | |
libonig-dev \ | |
libtidy-dev \ | |
libargon2-dev \ | |
libxslt1-dev \ | |
libcapstone-dev \ | |
libedit-dev \ | |
libcdb-dev \ | |
liblmdb-dev \ | |
libqdbm-dev \ | |
libtokyocabinet-dev \ | |
libsnmp-dev \ | |
snmpd \ | |
snmp-mibs-downloader \ | |
libexpat1-dev \ | |
libacl1-dev \ | |
libapparmor-dev \ | |
libselinux1-dev \ | |
libsystemd-dev \ | |
libldap2-dev \ | |
libsasl2-dev \ | |
libpq-dev \ | |
libmm-dev \ | |
zlib1g-dev \ | |
libdmalloc-dev; | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 2 | |
- name: Build and install | |
run: | | |
./bin/php.cmake ${{ matrix.php }} | |
cd php-${{ matrix.php }} | |
cmake --preset all-enabled | |
cmake --build --preset all-enabled -j | |
- name: Setup SNMP agents | |
run: | | |
cd php-${{ matrix.php }} | |
sudo cp ext/snmp/tests/snmpd.conf /etc/snmp | |
sudo cp ext/snmp/tests/bigtest /etc/snmp | |
sudo systemctl restart snmpd | |
- name: Run tests | |
run: | | |
cd php-${{ matrix.php }} | |
ctest --preset all-enabled |