Skip to content

Commit aca88ba

Browse files
committed
Move FreeBSD build to GitHub actions with QEMU
Closes phpGH-16822
1 parent e23ac83 commit aca88ba

File tree

4 files changed

+120
-28
lines changed

4 files changed

+120
-28
lines changed

.cirrus.yml

Lines changed: 0 additions & 28 deletions
This file was deleted.

.github/actions/freebsd/action.yml

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
name: FreeBSD
2+
runs:
3+
using: composite
4+
steps:
5+
- name: FreeBSD
6+
uses: vmactions/freebsd-vm@v1
7+
with:
8+
release: '13.3'
9+
usesh: true
10+
# Temporarily disable sqlite, as FreeBSD ships it with disabled double quotes. We'll need to fix our tests.
11+
# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269889
12+
prepare: |
13+
cd $GITHUB_WORKSPACE
14+
15+
kldload accf_http
16+
pkg install -y \
17+
autoconf \
18+
bison \
19+
gmake \
20+
re2c \
21+
icu \
22+
libiconv \
23+
png \
24+
freetype2 \
25+
enchant2 \
26+
bzip2 \
27+
t1lib \
28+
gmp \
29+
tidyp \
30+
libsodium \
31+
libzip \
32+
libxml2 \
33+
libxslt \
34+
openssl \
35+
oniguruma \
36+
pkgconf \
37+
webp \
38+
libavif \
39+
`#sqlite3` \
40+
curl
41+
42+
./buildconf -f
43+
./configure \
44+
--prefix=/usr/local \
45+
--enable-debug \
46+
--enable-option-checking=fatal \
47+
--enable-fpm \
48+
`#--with-pdo-sqlite` \
49+
--without-sqlite3 \
50+
--without-pdo-sqlite \
51+
--without-pear \
52+
--with-bz2 \
53+
--with-avif \
54+
--with-jpeg \
55+
--with-webp \
56+
--with-freetype \
57+
--enable-gd \
58+
--enable-exif \
59+
--with-zip \
60+
--with-zlib \
61+
--enable-soap \
62+
--enable-xmlreader \
63+
--with-xsl \
64+
--with-libxml \
65+
--enable-shmop \
66+
--enable-pcntl \
67+
--enable-mbstring \
68+
--with-curl \
69+
--enable-sockets \
70+
--with-openssl \
71+
--with-iconv=/usr/local \
72+
--enable-bcmath \
73+
--enable-calendar \
74+
--enable-ftp \
75+
--with-ffi \
76+
--enable-zend-test \
77+
--enable-dl-test=shared \
78+
--enable-intl \
79+
--with-mhash \
80+
--with-sodium \
81+
--with-config-file-path=/etc \
82+
--with-config-file-scan-dir=/etc/php.d
83+
gmake -j2
84+
mkdir /etc/php.d
85+
gmake install > /dev/null
86+
echo opcache.enable_cli=1 > /etc/php.d/opcache.ini
87+
echo opcache.protect_memory=1 >> /etc/php.d/opcache.ini
88+
echo opcache.preload_user=root >> /etc/php.d/opcache.ini
89+
run: |
90+
cd $GITHUB_WORKSPACE
91+
92+
export SKIP_IO_CAPTURE_TESTS=1
93+
export CI_NO_IPV6=1
94+
export STACK_LIMIT_DEFAULTS_CHECK=1
95+
sapi/cli/php run-tests.php \
96+
-P -q -j2 \
97+
-g FAIL,BORK,LEAK,XLEAK \
98+
--offline \
99+
--show-diff \
100+
--show-slow 1000 \
101+
--set-timeout 120 \
102+
-d zend_extension=opcache.so

.github/workflows/nightly.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -981,3 +981,13 @@ jobs:
981981
run: .github/scripts/windows/build.bat
982982
- name: Test
983983
run: .github/scripts/windows/test.bat
984+
FREEBSD:
985+
name: FREEBSD
986+
runs-on: ubuntu-latest
987+
steps:
988+
- name: git checkout
989+
uses: actions/checkout@v4
990+
with:
991+
ref: ${{ inputs.branch }}
992+
- name: FreeBSD
993+
uses: ./.github/actions/freebsd

.github/workflows/push.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,3 +170,11 @@ jobs:
170170
run: .github/scripts/windows/build.bat
171171
- name: Test
172172
run: .github/scripts/windows/test.bat
173+
FREEBSD:
174+
name: FREEBSD
175+
runs-on: ubuntu-latest
176+
steps:
177+
- name: git checkout
178+
uses: actions/checkout@v4
179+
- name: FreeBSD
180+
uses: ./.github/actions/freebsd

0 commit comments

Comments
 (0)