2222 strategy :
2323 fail-fast : false
2424 matrix :
25- php-versions : ['7.0', '7.1', '7. 2', '7.3', '7.4', '8.0']
26- dependencies : ['latest', 'oldest']
25+ php-versions : ['7.2', '7.3', '7.4', '8.0']
26+ # dependencies: ['latest', 'oldest'] # Only latest/upwards dependencies supported currently.
2727 steps :
2828 - name : Checkout
2929 uses : actions/checkout@v2
@@ -48,25 +48,38 @@ jobs:
4848 # key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
4949 key : ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
5050 restore-keys : ${{ runner.os }}-composer-
51- - name : Install the lowest dependencies
52- run : composer update --with-dependencies --prefer-stable --prefer-dist --prefer-lowest
53- if : ${{ matrix.dependencies }} == "latest"
51+ # - name: Install the lowest dependencies
52+ # run: composer update --with-dependencies --prefer-stable --prefer-dist --prefer-lowest
53+ # if: ${{ matrix.dependencies }} == "latest"
5454 - name : Install current dependencies from composer.lock
5555 run : composer install
56- if : ${{ matrix.dependencies }} == "oldest"
56+ continue-on-error : ${{matrix.php-versions == '8.0' }} # Temporal until full support for php8 === [temp-php8]
5757 - name : Set up database schema
5858 run : mysql --host 127.0.0.1 --port ${{ job.services.mysql.ports['3306'] }} -u${{ env.DB_USERNAME }} -p${{ env.DB_PASSWORD }} ${{ env.DB_DATABASE }} < vendor/phplist/core/resources/Database/Schema.sql
59+ continue-on-error : ${{matrix.php-versions == '8.0' }} # [temp-php8]
5960 - name : Validating composer.json
6061 run : composer validate --no-check-all --no-check-lock --strict;
62+ continue-on-error : ${{matrix.php-versions == '8.0' }} # [temp-php8]
6163 - name : Linting all php files
6264 run : find src/ tests/ public/ -name ''*.php'' -print0 | xargs -0 -n 1 -P 4 php -l; php -l;
63- - name : Run integration tests with phpunit
64- run : vendor/bin/phpunit tests/Integration/
65- - name : Running the system tests
66- run : vendor/bin/phpunit tests/Integration/;
65+ - name : Running unit tests
66+ run : vendor/bin/phpunit tests/Unit/;
67+ continue-on-error : ${{matrix.php-versions == '8.0' }} # [temp-php8]
68+ - name : Running the integration tests
69+ run : |
70+ export PHPLIST_DATABASE_NAME=${{ env.DB_DATABASE }}
71+ export PHPLIST_DATABASE_USER=${{ env.DB_USERNAME }}
72+ export PHPLIST_DATABASE_PASSWORD=${{ env.DB_PASSWORD }}
73+ export PHPLIST_DATABASE_PORT=${{ job.services.mysql.ports['3306'] }}
74+ export PHPLIST_DATABASE_HOST=127.0.0.1
75+ vendor/bin/phpunit tests/Integration/
76+ continue-on-error : ${{matrix.php-versions == '8.0' }} # [temp-php8]
6777 - name : Running static analysis
6878 run : vendor/bin/phpstan analyse -l 5 src/ tests/;
79+ continue-on-error : ${{matrix.php-versions == '8.0' }} # [temp-php8]
6980 - name : Running PHPMD
7081 run : vendor/bin/phpmd src/ text vendor/phplist/core/config/PHPMD/rules.xml;
82+ continue-on-error : ${{matrix.php-versions == '8.0' }} # [temp-php8]
7183 - name : Running PHP_CodeSniffer
72- run : vendor/bin/phpcs --standard=vendor/phplist/core/config/PhpCodeSniffer/ src/ tests/;
84+ run : vendor/bin/phpcs --standard=vendor/phplist/core/config/PhpCodeSniffer/ src/ tests/;
85+ continue-on-error : ${{matrix.php-versions == '8.0' }} # [temp-php8]
0 commit comments