Skip to content

Commit 74c9f6e

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 f7957d1 commit 74c9f6e

File tree

1 file changed

+96
-0
lines changed

1 file changed

+96
-0
lines changed

.github/workflows/push.yml

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,3 +158,99 @@ 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+
bison \
204+
re2c
205+
- name: ccache
206+
uses: hendrikmuhs/ccache-action@v1.2
207+
with:
208+
key: "${{github.job}}-${{hashFiles('main/php_version.h')}}"
209+
- name: build PHP
210+
run: |
211+
cd php
212+
./buildconf --force
213+
./configure \
214+
--enable-option-checking=fatal \
215+
--prefix=/opt/php \
216+
--enable-cli \
217+
--disable-all \
218+
--enable-werror
219+
make -j$(/usr/bin/nproc)
220+
sudo make install
221+
- name: build apcu
222+
run: |
223+
cd apcu
224+
/opt/php/bin/phpize
225+
./configure --prefix=/opt/php --with-php-config=/opt/php/bin/php-config
226+
make -j$(/usr/bin/nproc)
227+
- name: build imagick
228+
run: |
229+
cd imagick
230+
/opt/php/bin/phpize
231+
./configure --prefix=/opt/php --with-php-config=/opt/php/bin/php-config
232+
make -j$(/usr/bin/nproc)
233+
- name: build memcached
234+
run: |
235+
cd memcached
236+
/opt/php/bin/phpize
237+
./configure --prefix=/opt/php --with-php-config=/opt/php/bin/php-config
238+
make -j$(/usr/bin/nproc)
239+
- name: build redis
240+
run: |
241+
cd redis
242+
/opt/php/bin/phpize
243+
./configure --prefix=/opt/php --with-php-config=/opt/php/bin/php-config
244+
make -j$(/usr/bin/nproc)
245+
- name: build xdebug
246+
run: |
247+
cd xdebug
248+
/opt/php/bin/phpize
249+
./configure --prefix=/opt/php --with-php-config=/opt/php/bin/php-config
250+
make -j$(/usr/bin/nproc)
251+
- name: build yaml
252+
run: |
253+
cd yaml
254+
/opt/php/bin/phpize
255+
./configure --prefix=/opt/php --with-php-config=/opt/php/bin/php-config
256+
make -j$(/usr/bin/nproc)

0 commit comments

Comments
 (0)