Skip to content

Merge pull request #19 from netlogix/feature/flow-8 #107

Merge pull request #19 from netlogix/feature/flow-8

Merge pull request #19 from netlogix/feature/flow-8 #107

name: functionaltests
on: [ push, pull_request ]
jobs:
unittests:
name: '[PHP ${{ matrix.php-version }} | Flow ${{ matrix.flow-version }}] Functional Tests'
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php-version: [ 7.2, 7.3, 7.4, 8.0, 8.1 ]
flow-version: [ 5.3, 6.3, 7.3, 8.0 ]
exclude:
# Disable Flow 5.3 and 6.3 on PHP 8.0, as only ^7.2 is supported
- php-version: 8.0
flow-version: 5.3
- php-version: 8.0
flow-version: 6.3
- php-version: 8.1
flow-version: 5.3
- php-version: 8.1
flow-version: 6.3
# Disable Flow 7.0 on PHP 7.2, as 7.3 is required
- php-version: 7.2
flow-version: 7.3
# Disable Flow 8.0 on PHP 7, as 8.0 is required
- php-version: 7.2
flow-version: 8.0
- php-version: 7.3
flow-version: 8.0
- php-version: 7.4
flow-version: 8.0
env:
APP_ENV: true
FLOW_CONTEXT: Testing/Functional
FLOW_DIST_FOLDER: flow-base-distribution
steps:
- uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
extensions: mbstring, xml, json, zlib, iconv, intl, pdo_sqlite
ini-values: opcache.fast_shutdown=0
- name: "[1/4] Create composer project - Cache composer dependencies"
uses: actions/cache@v1
with:
path: ~/.composer/cache
key: php-${{ matrix.php-version }}-flow-${{ matrix.flow-version }}-composer-${{ hashFiles('composer.json') }}
restore-keys: |
php-${{ matrix.php-version }}-flow-${{ matrix.flow-version }}-composer-
php-${{ matrix.php-version }}-flow-
- name: "[2/4] Create composer project - No install"
run: composer create-project neos/flow-base-distribution ${{ env.FLOW_DIST_FOLDER }} --prefer-dist --no-progress --no-install "^${{ matrix.flow-version }}"
- name: "[3/4] Create composer project - Require behat in compatible version"
run: composer require --dev --no-update "neos/behat:@dev"
working-directory: ${{ env.FLOW_DIST_FOLDER }}
- name: "[4/4] Create composer project - Install project"
run: composer install
working-directory: ${{ env.FLOW_DIST_FOLDER }}
- name: Checkout code
uses: actions/checkout@v2
with:
path: ${{ env.FLOW_DIST_FOLDER }}/DistributionPackages/Netlogix.Sentry
- name: Install netlogix/sentry
run: composer require netlogix/sentry:@dev
working-directory: ${{ env.FLOW_DIST_FOLDER }}
- name: Run tests
run: bin/phpunit -c DistributionPackages/Netlogix.Sentry/phpunit.xml.dist --testsuite="Functional" --bootstrap "Build/BuildEssentials/PhpUnit/FunctionalTestBootstrap.php"
working-directory: ${{ env.FLOW_DIST_FOLDER }}