Skip to content

Commit eabb9b7

Browse files
MaxKellermanniluuu1994
authored andcommitted
.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. Closes GH-10404
1 parent e3179a0 commit eabb9b7

File tree

1 file changed

+102
-0
lines changed

1 file changed

+102
-0
lines changed

.github/workflows/nightly.yml

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -612,3 +612,105 @@ 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+
append-timestamp: false
668+
- name: build PHP
669+
run: |
670+
cd php
671+
./buildconf --force
672+
./configure \
673+
--enable-option-checking=fatal \
674+
--prefix=/opt/php \
675+
--enable-cli \
676+
--disable-all \
677+
--enable-session \
678+
--enable-werror
679+
make -j$(/usr/bin/nproc)
680+
sudo make install
681+
- name: build apcu
682+
run: |
683+
cd apcu
684+
/opt/php/bin/phpize
685+
./configure --prefix=/opt/php --with-php-config=/opt/php/bin/php-config
686+
make -j$(/usr/bin/nproc)
687+
- name: build imagick
688+
run: |
689+
cd imagick
690+
/opt/php/bin/phpize
691+
./configure --prefix=/opt/php --with-php-config=/opt/php/bin/php-config
692+
make -j$(/usr/bin/nproc)
693+
- name: build memcached
694+
run: |
695+
cd memcached
696+
/opt/php/bin/phpize
697+
./configure --prefix=/opt/php --with-php-config=/opt/php/bin/php-config
698+
make -j$(/usr/bin/nproc)
699+
- name: build redis
700+
run: |
701+
cd redis
702+
/opt/php/bin/phpize
703+
./configure --prefix=/opt/php --with-php-config=/opt/php/bin/php-config
704+
make -j$(/usr/bin/nproc)
705+
- name: build xdebug
706+
run: |
707+
cd xdebug
708+
/opt/php/bin/phpize
709+
./configure --prefix=/opt/php --with-php-config=/opt/php/bin/php-config
710+
make -j$(/usr/bin/nproc)
711+
- name: build yaml
712+
run: |
713+
cd yaml
714+
/opt/php/bin/phpize
715+
./configure --prefix=/opt/php --with-php-config=/opt/php/bin/php-config
716+
make -j$(/usr/bin/nproc)

0 commit comments

Comments
 (0)