xref: /PHP-8.2/.github/actions/freebsd/action.yml (revision 02ef371e)
1name: FreeBSD
2runs:
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            --no-progress \
99            --offline \
100            --show-diff \
101            --show-slow 1000 \
102            --set-timeout 120 \
103            -d zend_extension=opcache.so
104