Skip to content

Commit 5e7bd0c

Browse files
committed
+ new builds
1 parent c11ebeb commit 5e7bd0c

File tree

3 files changed

+500
-2
lines changed

3 files changed

+500
-2
lines changed

.github/workflows/build-alpine.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ name: True Async Alpine Build
22

33
on:
44
push:
5-
branches: [build]
5+
branches: [xbuild]
66
pull_request:
7-
branches: [build]
7+
branches: [xbuild]
88

99
jobs:
1010
build-alpine:
Lines changed: 202 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,202 @@
1+
name: True Async FreeBSD Build
2+
3+
on:
4+
push:
5+
branches: [build]
6+
pull_request:
7+
branches: [build]
8+
9+
jobs:
10+
build-freebsd:
11+
strategy:
12+
fail-fast: false
13+
matrix:
14+
zts: [true, false]
15+
16+
name: "FREEBSD_${{ matrix.zts && 'ZTS' || 'NTS' }}"
17+
runs-on: ubuntu-latest
18+
timeout-minutes: 90
19+
20+
steps:
21+
- name: Checkout php-async repo
22+
uses: actions/checkout@v4
23+
with:
24+
path: async
25+
26+
- name: Clone php-src (true-async-stable)
27+
run: |
28+
git clone --depth=1 --branch=true-async-stable https://github.com/true-async/php-src php-src
29+
30+
- name: Copy php-async extension into php-src
31+
run: |
32+
mkdir -p php-src/ext/async
33+
cp -r async/* php-src/ext/async/
34+
35+
- name: FreeBSD Build and Test
36+
uses: vmactions/freebsd-vm@v1
37+
with:
38+
release: '13.3'
39+
usesh: true
40+
copyback: false
41+
prepare: |
42+
cd $GITHUB_WORKSPACE/php-src
43+
44+
# Load kernel modules
45+
kldload accf_http
46+
47+
# Install build dependencies
48+
pkg install -y \
49+
autoconf \
50+
bison \
51+
gmake \
52+
re2c \
53+
icu \
54+
libiconv \
55+
png \
56+
freetype2 \
57+
enchant2 \
58+
bzip2 \
59+
t1lib \
60+
gmp \
61+
libsodium \
62+
libzip \
63+
libxml2 \
64+
libxslt \
65+
openssl \
66+
oniguruma \
67+
pkgconf \
68+
webp \
69+
libavif \
70+
curl \
71+
libuv \
72+
cmake
73+
74+
echo "=== System Info ==="
75+
echo "FreeBSD version:"
76+
freebsd-version
77+
echo "CPU info:"
78+
sysctl hw.model hw.ncpu hw.physmem
79+
echo "LibUV version:"
80+
pkg info libuv || echo "LibUV package info not available"
81+
82+
# Configure PHP with async extension
83+
./buildconf -f
84+
./configure \
85+
--prefix=/usr/local \
86+
--enable-debug \
87+
--enable-option-checking=fatal \
88+
--enable-fpm \
89+
--without-sqlite3 \
90+
--without-pdo-sqlite \
91+
--without-pear \
92+
--with-bz2 \
93+
--with-avif \
94+
--with-jpeg \
95+
--with-webp \
96+
--with-freetype \
97+
--enable-gd \
98+
--enable-exif \
99+
--with-zip \
100+
--with-zlib \
101+
--enable-soap \
102+
--enable-xmlreader \
103+
--with-xsl \
104+
--with-libxml \
105+
--enable-shmop \
106+
--enable-pcntl \
107+
--enable-mbstring \
108+
--with-curl \
109+
--enable-sockets \
110+
--with-openssl \
111+
--with-iconv=/usr/local \
112+
--enable-bcmath \
113+
--enable-calendar \
114+
--enable-ftp \
115+
--with-ffi \
116+
--enable-zend-test \
117+
--enable-dl-test=shared \
118+
--enable-intl \
119+
--with-mhash \
120+
--with-sodium \
121+
--enable-werror \
122+
--with-config-file-path=/etc \
123+
--with-config-file-scan-dir=/etc/php.d \
124+
--${{ matrix.zts && 'enable' || 'disable' }}-zts \
125+
--enable-async
126+
127+
# Build PHP
128+
echo "=== Building PHP ==="
129+
gmake -j2
130+
131+
# Install PHP
132+
echo "=== Installing PHP ==="
133+
mkdir -p /etc/php.d
134+
gmake install > /dev/null
135+
echo "opcache.enable_cli=1" > /etc/php.d/opcache.ini
136+
echo "opcache.protect_memory=1" >> /etc/php.d/opcache.ini
137+
echo "opcache.preload_user=root" >> /etc/php.d/opcache.ini
138+
139+
run: |
140+
cd $GITHUB_WORKSPACE/php-src
141+
142+
# Test environment setup
143+
export SKIP_IO_CAPTURE_TESTS=1
144+
export CI_NO_IPV6=1
145+
export STACK_LIMIT_DEFAULTS_CHECK=1
146+
147+
echo "=== PHP Version ==="
148+
/usr/local/bin/php -v
149+
150+
echo "=== Running Basic Async Tests ==="
151+
/usr/local/bin/php run-tests.php \
152+
-P -q -j2 \
153+
-g FAIL,BORK,LEAK,XLEAK \
154+
--no-progress \
155+
--offline \
156+
--show-diff \
157+
--show-slow 4000 \
158+
--set-timeout 120 \
159+
ext/async/tests
160+
161+
echo "=== Running Async Tests with OpCache ==="
162+
/usr/local/bin/php run-tests.php \
163+
-P -q -j2 \
164+
-g FAIL,BORK,LEAK,XLEAK \
165+
--no-progress \
166+
--offline \
167+
--show-diff \
168+
--show-slow 4000 \
169+
--set-timeout 120 \
170+
-d zend_extension=opcache.so \
171+
-d opcache.enable_cli=1 \
172+
ext/async/tests
173+
174+
echo "=== Running Async Tests with JIT Tracing ==="
175+
/usr/local/bin/php run-tests.php \
176+
-P -q -j2 \
177+
-g FAIL,BORK,LEAK,XLEAK \
178+
--no-progress \
179+
--offline \
180+
--show-diff \
181+
--show-slow 4000 \
182+
--set-timeout 120 \
183+
-d zend_extension=opcache.so \
184+
-d opcache.enable_cli=1 \
185+
-d opcache.jit_buffer_size=64M \
186+
-d opcache.jit=tracing \
187+
ext/async/tests
188+
189+
echo "=== Running Async Tests with JIT Function ==="
190+
/usr/local/bin/php run-tests.php \
191+
-P -q -j2 \
192+
-g FAIL,BORK,LEAK,XLEAK \
193+
--no-progress \
194+
--offline \
195+
--show-diff \
196+
--show-slow 4000 \
197+
--set-timeout 120 \
198+
-d zend_extension=opcache.so \
199+
-d opcache.enable_cli=1 \
200+
-d opcache.jit_buffer_size=64M \
201+
-d opcache.jit=function \
202+
ext/async/tests

0 commit comments

Comments
 (0)