Skip to content
Snippets Groups Projects
Unverified Commit 3be197cd authored by Klaus Purer's avatar Klaus Purer Committed by GitHub
Browse files

tests(github): Enable Github Actions testing (#131)

parent 18b371d9
Branches
Tags
Loading
name: Tests
on:
push:
branches: [ 8.3.x, 8.x-3.x ]
pull_request:
branches: [ 8.3.x, 8.x-3.x ]
jobs:
testing:
name: PHP ${{ matrix.php-versions }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php-versions: ['7.1', '7.2', '7.3', '7.4']
phpstan: ['1']
# Extra run to also test on PHP 7.0 without PHPStan.
include:
- php-versions: '7.0'
phpstan: '0'
steps:
- name: Checkout Coder
uses: actions/checkout@v2
- name: Setup PHP, with composer and extensions
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
extensions: mbstring
- name: Get composer cache directory
id: composercache
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
- name: Cache composer dependencies
uses: actions/cache@v2
with:
path: ${{ steps.composercache.outputs.dir }}
# Use composer.json for key, if composer.lock is not committed.
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
restore-keys: ${{ runner.os }}-composer-
- name: Install Composer dependencies
# Running composer install without a lock file will also update cached
# dependencies in vendor.
# We have a dedicated composer.json file for PHP 7.0 that does not have
# PHPStan because it requires >= PHP 7.1.
run: |
if [[ ${{ matrix.php-versions }} == "7.0" ]]; then cp composer-php-7-0.json composer.json; fi
composer install --no-progress --prefer-dist --optimize-autoloader
- name: Run PHPUnit
run: ./vendor/bin/phpunit
- name: Run PHPCS
run: ./vendor/bin/phpcs
- name: Check custom standard autoloading
# Ensure that a custom standard can be invoked and the auto-loading of
# abstract classes works.
# Ensure that the DrupalPractice standard can be invoked standalone and the
# auto-loading of abstract classes works.
run: |
./vendor/bin/phpcs -p --standard=tests/Drupal/phpcs-ruleset.xml tests/Drupal/good/ --ignore=tests/Drupal/good/GoodUnitTest.php
./vendor/bin/phpcs -p --standard=coder_sniffer/DrupalPractice tests/DrupalPractice/good/ --ignore=tests/DrupalPractice/good/GoodUnitTest.php
- name: Run PHPStan
run: if [[ ${{ matrix.phpstan }} == "1" ]]; then ./vendor/bin/phpstan analyse; fi
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment