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