Skip to content

Commit 8b0477e

Browse files
committed
.github/workflows/push.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 c02af98 commit 8b0477e

File tree

1 file changed

+98
-0
lines changed

1 file changed

+98
-0
lines changed

.github/workflows/push.yml

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,3 +158,101 @@ jobs:
158158
-d opcache.jit_buffer_size=16M
159159
- name: Verify generated files are up to date
160160
uses: ./.github/actions/verify-generated-files
161+
PECL:
162+
runs-on: ubuntu-20.04
163+
steps:
164+
- name: git checkout PHP
165+
uses: actions/checkout@v3
166+
with:
167+
path: php
168+
- name: git checkout apcu
169+
uses: actions/checkout@v3
170+
with:
171+
repository: krakjoe/apcu
172+
path: apcu
173+
- name: git checkout imagick
174+
uses: actions/checkout@v3
175+
with:
176+
repository: Imagick/imagick
177+
path: imagick
178+
- name: git checkout memcached
179+
uses: actions/checkout@v3
180+
with:
181+
repository: php-memcached-dev/php-memcached
182+
path: memcached
183+
- name: git checkout redis
184+
uses: actions/checkout@v3
185+
with:
186+
repository: phpredis/phpredis
187+
path: redis
188+
- name: git checkout xdebug
189+
uses: actions/checkout@v3
190+
with:
191+
repository: xdebug/xdebug
192+
path: xdebug
193+
- name: git checkout yaml
194+
uses: actions/checkout@v3
195+
with:
196+
repository: php/pecl-file_formats-yaml
197+
path: yaml
198+
- name: apt
199+
run: |
200+
sudo apt-get update
201+
sudo apt-get install -y --no-install-recommends \
202+
ccache \
203+
libmemcached-dev \
204+
bison \
205+
re2c
206+
- name: ccache
207+
uses: hendrikmuhs/ccache-action@v1.2
208+
with:
209+
key: "${{github.job}}-${{hashFiles('php/main/php_version.h')}}"
210+
- name: build PHP
211+
run: |
212+
cd php
213+
./buildconf --force
214+
./configure \
215+
--enable-option-checking=fatal \
216+
--prefix=/opt/php \
217+
--enable-cli \
218+
--disable-all \
219+
--enable-session \
220+
--enable-werror
221+
make -j$(/usr/bin/nproc)
222+
sudo make install
223+
- name: build apcu
224+
run: |
225+
cd apcu
226+
/opt/php/bin/phpize
227+
./configure --prefix=/opt/php --with-php-config=/opt/php/bin/php-config
228+
make -j$(/usr/bin/nproc)
229+
- name: build imagick
230+
run: |
231+
cd imagick
232+
/opt/php/bin/phpize
233+
./configure --prefix=/opt/php --with-php-config=/opt/php/bin/php-config
234+
make -j$(/usr/bin/nproc)
235+
- name: build memcached
236+
run: |
237+
cd memcached
238+
/opt/php/bin/phpize
239+
./configure --prefix=/opt/php --with-php-config=/opt/php/bin/php-config
240+
make -j$(/usr/bin/nproc)
241+
- name: build redis
242+
run: |
243+
cd redis
244+
/opt/php/bin/phpize
245+
./configure --prefix=/opt/php --with-php-config=/opt/php/bin/php-config
246+
make -j$(/usr/bin/nproc)
247+
- name: build xdebug
248+
run: |
249+
cd xdebug
250+
/opt/php/bin/phpize
251+
./configure --prefix=/opt/php --with-php-config=/opt/php/bin/php-config
252+
make -j$(/usr/bin/nproc)
253+
- name: build yaml
254+
run: |
255+
cd yaml
256+
/opt/php/bin/phpize
257+
./configure --prefix=/opt/php --with-php-config=/opt/php/bin/php-config
258+
make -j$(/usr/bin/nproc)

0 commit comments

Comments
 (0)