Skip to content

Nicer unit tests

Nicer unit tests #81

Workflow file for this run

name: Compile extension
on:
pull_request:
paths:
- ".github/workflows/ci-ext.*"
- "ext/**"
- package.xml
push:
branches:
- "**"
paths:
- ".github/workflows/ci-ext.*"
- "ext/**"
- package.xml
tags-ignore:
- "**"
jobs:
compile:
strategy:
matrix:
image:
- php:7.4-cli
- php:7.4-cli-alpine
- php:8.0-cli
- php:8.0-cli-alpine
- php:8.1-cli
- php:8.1-cli-alpine
- php:8.2-cli
- php:8.2-cli-alpine
name: Image ${{ matrix.image }}
runs-on: ubuntu-latest
container: ${{ matrix.image }}
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install system dependencies (Alpine)
if: contains(matrix.image, 'alpine')
run: |
apk update
. /etc/os-release
case "$VERSION_ID" in
3.11.* | 3.12.* | 3.13.* | 3.14.* | 3.15.* | 3.16.* | 3.17.*)
apk update && apk add $PHPIZE_DEPS lapack lapack-dev openblas-dev
if [ ! -e /usr/lib/liblapacke.so ]; then
# Fix for Alpine 3.15, 3.16 and 3.17
ln -s /usr/lib/liblapacke.so.3 /usr/lib/liblapacke.so
fi
;;
*)
apk add $PHPIZE_DEPS liblapack lapack-dev openblas-dev
;;
esac
- name: Install system dependencies (Debian)
if: ${{ !contains(matrix.image, 'alpine') }}
run: |
apt-get update -q
apt-get install -qy gfortran liblapack-dev libopenblas-dev liblapacke-dev
- name: Create working directory
run: |
rm -rf /tmp/tensor-package
mkdir /tmp/tensor-package
- name: Create PECL package
run: |
cd /tmp/tensor-package
pecl package "$GITHUB_WORKSPACE/package.xml"
- name: Compile PECL package
run: |
cd /tmp/tensor-package
MAKE="make -j$(nproc)" pecl install tensor-*.tgz
- name: Enable PHP extension
run: docker-php-ext-enable tensor
- name: Check for PHP startup warnings
run: |
php -d display_errors=stderr -d display_startup_errors=1 -d error_reporting=-1 -r ';' 2>/tmp/php-startup-warnings
if [ -s /tmp/php-startup-warnings ]; then
echo 'The PHP extension was successfully installed, but PHP raised these warnings:' >&2
cat /tmp/php-startup-warnings >&2
exit 1
fi
echo "PHP didn't raise any warnings at startup."
- name: Inspect PHP extension
run: php --ri tensor