xref: /dokuwiki/.github/workflows/testLinux.yml (revision 2cf7c325f897f0ae87113cbffa6d7106a807c021)
1name: Linux Unit Tests
2
3on: [push, pull_request]
4
5jobs:
6    run:
7        name: PHP ${{ matrix.php-versions }}
8        runs-on: ubuntu-latest
9
10        strategy:
11            matrix:
12                php-versions: ['7.2', '7.3', '7.4']
13            fail-fast: false
14
15        services:
16            mysql:
17                image: mysql:5.7
18                env:
19                    MYSQL_ALLOW_EMPTY_PASSWORD: yes
20                ports:
21                    - 3306:3306
22            postgres:
23                image: postgres:latest
24                env:
25                    POSTGRES_PASSWORD: postgres
26                ports:
27                    - 5432:5432
28        steps:
29            - name: Checkout
30              uses: actions/checkout@v2
31
32            - name: Setup PHP
33              uses: shivammathur/setup-php@v2
34              with:
35                  php-version: ${{ matrix.php-versions }}
36                  extensions: mbstring, intl, PDO, pdo_sqlite, pdo_mysql, pdo_pgsql, bz2
37
38            - name: Setup problem matchers
39              run: |
40                echo ::add-matcher::${{ runner.tool_cache }}/php.json
41                echo ::add-matcher::${{ runner.tool_cache }}/phpunit.json
42
43            - name: Setup PHPUnit
44              run: |
45                  php _test/fetchphpunit.php
46                  cd _test
47                  cp mysql.conf.php.dist mysql.conf.php
48                  cp pgsql.conf.php.dist pgsql.conf.php
49
50            - name: Run PHPUnit
51              run: |
52                cd _test
53                php phpunit.phar --verbose --stderr
54