xref: /dokuwiki/.github/workflows/testLinux.yml (revision 3a2e53cf6e2341949d4beb508512196016debad6)
12cf7c325SAndreas Gohrname: Linux Unit Tests
22cf7c325SAndreas Gohr
3476584a3SAndreas Gohron:
4476584a3SAndreas Gohr  push:
5476584a3SAndreas Gohr    branches-ignore:
6476584a3SAndreas Gohr      - stable
7476584a3SAndreas Gohr      - old-stable
8476584a3SAndreas Gohr  pull_request:
92cf7c325SAndreas Gohr
10d3b90506SAlexpermissions:
11d3b90506SAlex  contents: read  #  to fetch code (actions/checkout)
12d3b90506SAlex
132cf7c325SAndreas Gohrjobs:
142cf7c325SAndreas Gohr    run:
152cf7c325SAndreas Gohr        name: PHP ${{ matrix.php-versions }}
162cf7c325SAndreas Gohr        runs-on: ubuntu-latest
17bb6dfcb8SAndreas Gohr        if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
182cf7c325SAndreas Gohr
192cf7c325SAndreas Gohr        strategy:
202cf7c325SAndreas Gohr            matrix:
21*3a2e53cfSAndreas Gohr                php-versions: ['7.4', '8.0', '8.1', '8.2']
222cf7c325SAndreas Gohr            fail-fast: false
232cf7c325SAndreas Gohr
242cf7c325SAndreas Gohr        services:
252cf7c325SAndreas Gohr            mysql:
262cf7c325SAndreas Gohr                image: mysql:5.7
272cf7c325SAndreas Gohr                env:
282cf7c325SAndreas Gohr                    MYSQL_ALLOW_EMPTY_PASSWORD: yes
292cf7c325SAndreas Gohr                ports:
302cf7c325SAndreas Gohr                    - 3306:3306
312cf7c325SAndreas Gohr            postgres:
322cf7c325SAndreas Gohr                image: postgres:latest
332cf7c325SAndreas Gohr                env:
342cf7c325SAndreas Gohr                    POSTGRES_PASSWORD: postgres
352cf7c325SAndreas Gohr                ports:
362cf7c325SAndreas Gohr                    - 5432:5432
37605810eeSAndreas Gohr            squid:
38605810eeSAndreas Gohr              image: ubuntu/squid
39605810eeSAndreas Gohr              ports:
40605810eeSAndreas Gohr                    - 3128:3128
412cf7c325SAndreas Gohr        steps:
422cf7c325SAndreas Gohr            - name: Checkout
43336fb258SAndreas Gohr              uses: actions/checkout@v3
442cf7c325SAndreas Gohr
452cf7c325SAndreas Gohr            - name: Setup PHP
462cf7c325SAndreas Gohr              uses: shivammathur/setup-php@v2
472cf7c325SAndreas Gohr              with:
482cf7c325SAndreas Gohr                  php-version: ${{ matrix.php-versions }}
492cf7c325SAndreas Gohr                  extensions: mbstring, intl, PDO, pdo_sqlite, pdo_mysql, pdo_pgsql, bz2
5089c597eaSAndreas Gohr                  ini-values: pcre.jit=0
512cf7c325SAndreas Gohr
522cf7c325SAndreas Gohr            - name: Setup problem matchers
532cf7c325SAndreas Gohr              run: |
542cf7c325SAndreas Gohr                echo ::add-matcher::${{ runner.tool_cache }}/php.json
552cf7c325SAndreas Gohr                echo ::add-matcher::${{ runner.tool_cache }}/phpunit.json
562cf7c325SAndreas Gohr
572cf7c325SAndreas Gohr            - name: Setup PHPUnit
582cf7c325SAndreas Gohr              run: |
592cf7c325SAndreas Gohr                  php _test/fetchphpunit.php
602cf7c325SAndreas Gohr                  cd _test
612cf7c325SAndreas Gohr                  cp mysql.conf.php.dist mysql.conf.php
622cf7c325SAndreas Gohr                  cp pgsql.conf.php.dist pgsql.conf.php
63605810eeSAndreas Gohr                  cp proxy.conf.php.dist proxy.conf.php
642cf7c325SAndreas Gohr
652cf7c325SAndreas Gohr            - name: Run PHPUnit
662cf7c325SAndreas Gohr              run: |
672cf7c325SAndreas Gohr                cd _test
682cf7c325SAndreas Gohr                php phpunit.phar --verbose --stderr
69