PHPUnit #446
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: PHPUnit | |
on: | |
push: | |
pull_request: | |
schedule: | |
- cron: '45 3 * * SUN' | |
jobs: | |
run: | |
runs-on: ${{ matrix.operating-system }} | |
container: shivammathur/node:latest-${{ matrix.arch }} | |
strategy: | |
matrix: | |
arch: ["amd64", "i386"] | |
operating-system: [ubuntu-latest] | |
php-version: ['7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4'] | |
php-extension: ['bcmath', 'gmp'] | |
exclude: | |
# We are getting weird libxml2 failures on this combo | |
- arch: "i386" | |
php-version: 8.4 | |
name: "PHP ${{ matrix.php-version }} (with ${{ matrix.php-extension }}) test on ${{ matrix.operating-system }}/${{ matrix.arch }}" | |
steps: | |
- name: Install PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php-version }} | |
extensions: "mbstring, intl, ${{ matrix.php-extension }}" | |
tools: "composer, phpize" | |
- name: Checkout | |
# We use v1 due to https://github.com/actions/checkout/issues/334 | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Install libmaxminddb | |
run: | | |
mkdir -p "$HOME/libmaxminddb" | |
git clone --recursive https://github.com/maxmind/libmaxminddb.git | |
cd libmaxminddb | |
./bootstrap | |
./configure --prefix="$HOME/libmaxminddb" | |
make | |
make install | |
- name: Build extension | |
run: | | |
export CFLAGS="-L$HOME/libmaxminddb/lib" | |
export CPPFLAGS="-I$HOME/libmaxminddb/include" | |
cd ext | |
phpize | |
./configure --with-maxminddb --enable-maxminddb-debug | |
make clean | |
make | |
NO_INTERACTION=1 make test | |
cd .. | |
- name: Install dependencies | |
run: composer install --no-progress --prefer-dist --optimize-autoloader | |
- name: Test with phpunit without extension | |
run: vendor/bin/phpunit | |
- name: Test with phpunit using extension | |
run: php -d extension=ext/modules/maxminddb.so vendor/bin/phpunit |