Skip to content

Commit 9a743f5

Browse files
committed
.github/workflows/nightly.yml: add job to build out-of-tree extensions
This aims to detect API breakages early by compiling a selection of out-of-tree extensions in the CI.
1 parent bf809a9 commit 9a743f5

File tree

1 file changed

+101
-0
lines changed

1 file changed

+101
-0
lines changed

.github/workflows/nightly.yml

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -612,3 +612,104 @@ jobs:
612612
withMysqli: ${{ matrix.branch.ref == 'PHP-8.1' }}
613613
- name: Verify generated files are up to date
614614
uses: ./.github/actions/verify-generated-files
615+
PECL:
616+
runs-on: ubuntu-20.04
617+
env:
618+
CC: ccache gcc
619+
CXX: ccache g++
620+
steps:
621+
- name: git checkout PHP
622+
uses: actions/checkout@v3
623+
with:
624+
path: php
625+
- name: git checkout apcu
626+
uses: actions/checkout@v3
627+
with:
628+
repository: krakjoe/apcu
629+
path: apcu
630+
- name: git checkout imagick
631+
uses: actions/checkout@v3
632+
with:
633+
repository: Imagick/imagick
634+
path: imagick
635+
- name: git checkout memcached
636+
uses: actions/checkout@v3
637+
with:
638+
repository: php-memcached-dev/php-memcached
639+
path: memcached
640+
- name: git checkout redis
641+
uses: actions/checkout@v3
642+
with:
643+
repository: phpredis/phpredis
644+
path: redis
645+
- name: git checkout xdebug
646+
uses: actions/checkout@v3
647+
with:
648+
repository: xdebug/xdebug
649+
path: xdebug
650+
- name: git checkout yaml
651+
uses: actions/checkout@v3
652+
with:
653+
repository: php/pecl-file_formats-yaml
654+
path: yaml
655+
- name: apt
656+
run: |
657+
sudo apt-get update
658+
sudo apt-get install -y --no-install-recommends \
659+
ccache \
660+
libmemcached-dev \
661+
bison \
662+
re2c
663+
- name: ccache
664+
uses: hendrikmuhs/ccache-action@v1.2
665+
with:
666+
key: "${{github.job}}-${{hashFiles('php/main/php_version.h')}}"
667+
- name: build PHP
668+
run: |
669+
cd php
670+
./buildconf --force
671+
./configure \
672+
--enable-option-checking=fatal \
673+
--prefix=/opt/php \
674+
--enable-cli \
675+
--disable-all \
676+
--enable-session \
677+
--enable-werror
678+
make -j$(/usr/bin/nproc)
679+
sudo make install
680+
- name: build apcu
681+
run: |
682+
cd apcu
683+
/opt/php/bin/phpize
684+
./configure --prefix=/opt/php --with-php-config=/opt/php/bin/php-config
685+
make -j$(/usr/bin/nproc)
686+
- name: build imagick
687+
run: |
688+
cd imagick
689+
/opt/php/bin/phpize
690+
./configure --prefix=/opt/php --with-php-config=/opt/php/bin/php-config
691+
make -j$(/usr/bin/nproc)
692+
- name: build memcached
693+
run: |
694+
cd memcached
695+
/opt/php/bin/phpize
696+
./configure --prefix=/opt/php --with-php-config=/opt/php/bin/php-config
697+
make -j$(/usr/bin/nproc)
698+
- name: build redis
699+
run: |
700+
cd redis
701+
/opt/php/bin/phpize
702+
./configure --prefix=/opt/php --with-php-config=/opt/php/bin/php-config
703+
make -j$(/usr/bin/nproc)
704+
- name: build xdebug
705+
run: |
706+
cd xdebug
707+
/opt/php/bin/phpize
708+
./configure --prefix=/opt/php --with-php-config=/opt/php/bin/php-config
709+
make -j$(/usr/bin/nproc)
710+
- name: build yaml
711+
run: |
712+
cd yaml
713+
/opt/php/bin/phpize
714+
./configure --prefix=/opt/php --with-php-config=/opt/php/bin/php-config
715+
make -j$(/usr/bin/nproc)

0 commit comments

Comments
 (0)