Merge pull request #189 from joanhey/ubuntu-24.04 #54
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: Build Nightly PHP | |
on: | |
# Each 1 of month | |
schedule: | |
- cron: "0 0 1 * *" | |
push: | |
branches: | |
- "development" | |
paths: | |
- "src/**" | |
- "t/**" | |
- "third_party/**" | |
- ".github/**" | |
- "config" | |
pull_request: | |
branches: | |
- "development" | |
paths: | |
- "src/**" | |
- "t/**" | |
- "third_party/**" | |
- ".github/**" | |
- "config" | |
env: | |
DB_DATABASE: ngx_php | |
DB_USER: ngx_php | |
DB_PASSWORD: ngx_php | |
jobs: | |
build: | |
runs-on: ubuntu-24.04 | |
strategy: | |
matrix: | |
php_version: ["8.4"] | |
nginx_version: ["1.26.0"] | |
# Disable fail-fast to allow all failing versions to fail in a | |
# single build, rather than stopping when the first one fails. | |
fail-fast: false | |
name: PHP-${{ matrix.php_version }} Nginx ${{ matrix.nginx_version }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: sudo apt-get install -yqq cpanminus libxml2-dev systemtap-sdt-dev zlib1g-dev libpcre3-dev libargon2-dev libsodium-dev libkrb5-dev redis-server redis-tools memcached | |
- name: Setup PHP-${{ matrix.php_version }} | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php_version }} | |
extensions: dev, embed, opcache, mysql | |
ini-values: opcache.enable=1, opcache.enable_cli=1, opcache.jit=tracing, opcache.jit_buffer_size=128M,error_reporting=E_ALL | |
coverage: none | |
- name: Download Nginx v${{ matrix.nginx_version }} | |
run: | | |
wget http://nginx.org/download/nginx-${{ matrix.nginx_version }}.tar.gz | |
tar -zxf nginx-${{ matrix.nginx_version }}.tar.gz | |
- name: Compile Ngx-php | |
env: | |
PHP_SRC_VERSION: ${{ matrix.php_version }} | |
NGINX_SRC_VERSION: ${{ matrix.nginx_version }} | |
run: ./.github/ngx-php/compile-ngx.sh | |
- name: MySQL Start and create table | |
run: | | |
sudo systemctl start mysql.service | |
mysql -uroot -proot -e 'CREATE DATABASE ${{ env.DB_DATABASE }};' | |
mysql -uroot -proot < .github/ngx-php/world.sql | |
- name: Install Redis & Memcached | |
run: | | |
sudo redis-server /etc/redis/redis.conf | |
- name: Perl packages | |
run: sudo cpanm -n Test::Nginx | |
- name: Test | |
env: | |
PHP_SRC_VERSION: ${{ matrix.php_version }} | |
run: | | |
sudo bash -c "echo "opcache.jit=tracing" >> /etc/php/${PHP_SRC_VERSION}/embed/conf.d/10-opcache.ini" | |
./.github/ngx-php/test.sh |