Download dependencies #2264
This file contains hidden or 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.3] | |
| paths-ignore: | |
| - 'docs/**' | |
| - '.editorconfig' | |
| - '.gitignore' | |
| - 'CHANGELOG.md' | |
| - 'README.md' | |
| pull_request: | |
| branches: [PHP-8.3] | |
| 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: GNU, CC: gcc, CXX: g++, packages: gcc g++ } | |
| - { name: Clang, CC: clang, CXX: clang++, packages: clang llvm-dev } | |
| build_type: | |
| - Release | |
| generator: | |
| - Unix Makefiles | |
| php: | |
| - 8.3-dev | |
| env: | |
| CC: ${{ matrix.compiler.CC }} | |
| CXX: ${{ matrix.compiler.CXX }} | |
| CMAKE_BUILD_TYPE: ${{ matrix.build_type }} | |
| steps: | |
| - name: Install compiler ${{ matrix.compiler.name }} | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get -y install ${{ matrix.compiler.packages }} | |
| - name: Install base dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get -y install \ | |
| build-essential \ | |
| re2c \ | |
| bison \ | |
| libxml2-dev \ | |
| libssl-dev \ | |
| libpcre2-dev \ | |
| libsqlite3-dev \ | |
| libbz2-dev \ | |
| libcurl4-openssl-dev \ | |
| libdb5.3++-dev \ | |
| libenchant-2-dev \ | |
| libgmp-dev \ | |
| libc-client-dev \ | |
| libkrb5-dev \ | |
| unixodbc-dev \ | |
| freetds-dev \ | |
| apache2-dev \ | |
| firebird-dev \ | |
| libsodium-dev \ | |
| libicu-dev \ | |
| libzip-dev \ | |
| aspell \ | |
| libaspell-dev \ | |
| libavif-dev \ | |
| libfreetype-dev \ | |
| libjpeg-dev \ | |
| libpng-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 \ | |
| snmp \ | |
| 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 \ | |
| dovecot-core \ | |
| dovecot-pop3d \ | |
| dovecot-imapd \ | |
| sendmail; | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 2 | |
| - name: Build and install | |
| run: | | |
| cmake --preset all-enabled | |
| cmake --build --preset all-enabled -j | |
| - name: Setup SNMP agents | |
| run: | | |
| cd php-build/all-enabled/php-src | |
| sudo cp ext/snmp/tests/{snmpd.conf,bigtest} /etc/snmp | |
| sudo systemctl restart snmpd | |
| - name: Setup Dovecot for testing imap extension | |
| run: | | |
| cd php-build/all-enabled/php-src | |
| sudo sh ext/imap/tests/setup/setup.sh | |
| sudo systemctl restart dovecot | |
| - name: Run tests | |
| run: ctest --preset all-enabled | |
| - name: Install PHP | |
| run: cmake --install php-build/all-enabled | |
| linux-externalproject-module: | |
| runs-on: ubuntu-latest | |
| name: Downloading dependencies with ExternalProject module on Linux | |
| steps: | |
| - name: Install base dependencies | |
| run: | | |
| sudo apt-get update -y | |
| sudo apt-get -y install \ | |
| build-essential \ | |
| libssl-dev \ | |
| libpcre2-dev \ | |
| libbz2-dev \ | |
| libcurl4-openssl-dev \ | |
| libdb5.3++-dev \ | |
| libenchant-2-dev \ | |
| libgmp-dev \ | |
| libc-client-dev \ | |
| libkrb5-dev \ | |
| unixodbc-dev \ | |
| freetds-dev \ | |
| apache2-dev \ | |
| firebird-dev \ | |
| libsodium-dev \ | |
| libicu-dev \ | |
| aspell \ | |
| libaspell-dev \ | |
| libavif-dev \ | |
| libfreetype-dev \ | |
| libjpeg-dev \ | |
| libwebp-dev \ | |
| libxpm-dev \ | |
| libtidy-dev \ | |
| libargon2-dev \ | |
| libxslt1-dev \ | |
| libcapstone-dev \ | |
| libedit-dev \ | |
| libcdb-dev \ | |
| liblmdb-dev \ | |
| libqdbm-dev \ | |
| libtokyocabinet-dev \ | |
| libsnmp-dev \ | |
| snmp \ | |
| snmpd \ | |
| snmp-mibs-downloader \ | |
| libexpat1-dev \ | |
| libacl1-dev \ | |
| libapparmor-dev \ | |
| libselinux1-dev \ | |
| libsystemd-dev \ | |
| libldap2-dev \ | |
| libsasl2-dev \ | |
| libpq-dev \ | |
| libmm-dev \ | |
| libdmalloc-dev \ | |
| dovecot-core \ | |
| dovecot-pop3d \ | |
| dovecot-imapd \ | |
| sendmail; | |
| - name: Install CMake | |
| uses: lukka/get-cmake@latest | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 2 | |
| - name: Build and install | |
| run: | | |
| cmake --preset all-enabled | |
| cmake --build --preset all-enabled -j | |
| linux-conan: | |
| runs-on: ubuntu-latest | |
| name: Downloading dependencies with Conan on Linux | |
| steps: | |
| - name: Install packages | |
| run: | | |
| sudo apt-get update -y | |
| sudo apt-get -y install \ | |
| build-essential \ | |
| freetds-dev \ | |
| apache2-dev \ | |
| firebird-dev \ | |
| libc-client-dev \ | |
| aspell \ | |
| libaspell-dev \ | |
| libcdb-dev \ | |
| libtokyocabinet-dev \ | |
| libsnmp-dev \ | |
| libacl1-dev \ | |
| libedit-dev \ | |
| snmp \ | |
| snmpd \ | |
| snmp-mibs-downloader \ | |
| libapparmor-dev \ | |
| libpq-dev \ | |
| libmm-dev \ | |
| libsystemd-dev \ | |
| libwebp-dev \ | |
| libxpm-dev \ | |
| liblmdb-dev \ | |
| libonig-dev \ | |
| libldap2-dev \ | |
| libtidy-dev \ | |
| libdmalloc-dev \ | |
| dovecot-core \ | |
| dovecot-pop3d \ | |
| dovecot-imapd \ | |
| sendmail; | |
| - name: Install CMake | |
| uses: lukka/get-cmake@latest | |
| - name: Install Conan | |
| uses: conan-io/setup-conan@v1 | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 2 | |
| - name: Install dependencies with Conan | |
| run: | | |
| conan install cmake --output-folder=php-build/php --build=missing --profile:build=default --profile:host=default | |
| - name: Build and install | |
| run: | | |
| cmake --preset conan | |
| cmake --build --preset conan -j | |
| windows: | |
| runs-on: windows-latest | |
| name: Windows | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 2 | |
| - name: Build and install | |
| run: | | |
| cmake --preset windows | |
| cmake --build --preset windows -j |