name: CI for linux distributions on: ['pull_request', 'push'] jobs: debian: runs-on: ubuntu-latest container: debian:stable steps: - name: Checkout code uses: actions/checkout@v2 - name: Remove php8 tests for php7 run: rm -rf src/tests/*php8*/ src/tests/*/*_php8.phpt src/tests/disable_function/*_signal.phpt - name: Install dependencies run: | apt update DEBIAN_FRONTEND=noninteractive apt install -y php-dev php-pear - name: Install pecl run: pecl install vld-beta - name: Build and run the testsuite run: make release tests - name: Show logs in case of failure if: ${{ failure() }} run: | grep -r . --include='*.log' src/tests fedora: runs-on: ubuntu-latest container: fedora:latest steps: - name: Checkout code uses: actions/checkout@v2 - name: Remove php8 tests for php7 run: rm -rf src/tests/*php8*/ src/tests/*/*_php8.phpt src/tests/disable_function/*_signal.phpt - name: Install dependencies run: | dnf install -y php-devel php-pear make - name: Install pecl run: pecl install vld-beta - name: Build and run the testsuite run: make release tests - name: Show logs in case of failure if: ${{ failure() }} run: | grep -r . --include='*.log' src/tests ubuntu: runs-on: ubuntu-latest container: ubuntu:latest steps: - name: Checkout code uses: actions/checkout@v2 - name: Remove php8 tests for php7 run: rm -rf src/tests/*php8*/ src/tests/*/*_php8.phpt - name: Install dependencies run: | apt update DEBIAN_FRONTEND=noninteractive apt install -y php-dev - name: Install pecl run: pecl install vld-beta - name: Build and run the testsuite run: make tests - name: Show logs in case of failure if: ${{ failure() }} run: | grep -r . --include='*.log' src/tests archlinux: runs-on: ubuntu-latest container: archlinux:latest steps: - name: Checkout code uses: actions/checkout@v2 - name: Remove php8 tests for php7 run: rm -rf src/tests/*php8*/ src/tests/*/*_php8.phpt - name: Install dependencies continue-on-error: true run: | pacman --sync --refresh --noconfirm --quiet php wget autoconf gcc make wget https://pear.php.net/go-pear.phar php go-pear.phar - name: Install pecl continue-on-error: true run: pecl install vld-beta - name: Build SP and run the testsuite continue-on-error: true run: make tests - name: Show logs in case of failure continue-on-error: true if: ${{ failure() }} run: | grep -r . --include='*.log' src/tests alpine: runs-on: ubuntu-latest container: alpine:latest steps: - name: Checkout code uses: actions/checkout@v2 - name: Remove php8 tests for php7 run: rm -rf src/tests/*php8*/ src/tests/*/*_php8.phpt - name: Remove tests failing on alpine for wathever reason run: rm -rf src/tests/cookies_encryption_warning src/tests/upload_validation/upload_validation.phpt /tests/broken_configuration/encrypt_regexp_cookies_bad_regexp.phpt - name: Install dependencies run: apk add php7-dev php7-cgi php7-simplexml php7-xml pcre-dev build-base php7-pear php7-openssl php7-session - name: Install pecl continue-on-error: true run: pecl install vld-beta - name: Build SP and run the testsuite continue-on-error: true run: | make release ln -s $(php -r 'echo ini_get("extension_dir");')/* src/modules/ make tests - name: Show logs in case of failure if: ${{ failure() }} continue-on-error: true run: | grep -r . --include='*.log' src/tests ## PHP 8 alpine_php8: runs-on: ubuntu-latest container: alpine:edge steps: - name: Checkout code uses: actions/checkout@v2 - name: Remove tests failing on alpine for wathever reason run: rm -rf src/tests/cookies_encryption_warning src/tests/upload_validation/upload_validation.phpt - name: Install dependencies run: apk add php8-dev php8-cgi php8-simplexml php8-xml pcre-dev build-base php8-pear php8-openssl php8-session php8-curl - name: Install pecl continue-on-error: true run: pecl install vld-beta - name: Build SP and run the testsuite continue-on-error: true run: | make release ln -s $(php -r 'echo ini_get("extension_dir");')/* src/modules/ make tests - name: Show logs in case of failure if: ${{ failure() }} continue-on-error: true run: | grep -r . --include='*.log' src/tests