name: CI for linux distributions, on php8 on: pull_request: push: schedule: - cron: '0 16 * * 5' jobs: alpine: runs-on: ubuntu-latest container: alpine:edge steps: - name: Checkout code uses: actions/checkout@v2 - name: Remove php7 tests for php8 run: rm -rf src/tests/*php7*/ - name: Remove tests failing on alpine for wathever reason run: rm -rf src/tests/*session*/ src/tests/broken_configuration/ src/tests/*cookie* src/tests/upload_validation/ - name: Install dependencies run: apk add php8-dev php8-cgi php8-simplexml php8-xml pcre-dev build-base php8-pear php8-openssl re2c - name: Install pecl continue-on-error: true run: pecl install vld-beta - name: Build and run the testsuite continue-on-error: true run: make tests - name: Show logs in case of failure if: ${{ failure() }} continue-on-error: true run: | grep -r . ./src/tests/*/*.out grep -r . ./src/tests/*/*.diff debian: runs-on: ubuntu-latest container: debian:testing steps: - name: Checkout code uses: actions/checkout@v2 - name: Install dependencies run: | apt update DEBIAN_FRONTEND=noninteractive apt install -y php-dev php-pear re2c - 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: Install dependencies run: | dnf install -y php-devel php-pear make re2c - 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 archlinux: runs-on: ubuntu-latest container: archlinux:latest steps: - name: Checkout code uses: actions/checkout@v2 - name: Install dependencies continue-on-error: true run: | pacman --sync --refresh --noconfirm --quiet php8 wget autoconf gcc make re2c 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_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 bash grep re2c - name: Install pecl continue-on-error: true run: pecl install vld-beta - name: Build SP and run the testsuite 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() }} run: | grep -r . --include='*.log' src/tests