diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index a7b773b..b88623c 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -2,39 +2,89 @@ name: build
on:
push:
- branches:
- - 'main'
+ branches:
+ - 'main'
pull_request: ~
jobs:
- test:
- name: "Test (PHP ${{ matrix.php-versions }}, Neos ${{ matrix.neos-versions }})"
-
- strategy:
- fail-fast: false
- matrix:
- php-versions: ['7.4']
- neos-versions: ['7.3']
- include:
- - php-versions: '8.1'
- neos-versions: '8.3'
- runs-on: ubuntu-latest
-
- steps:
- - name: Checkout
- uses: actions/checkout@v2
- with:
- path: ${{ env.FLOW_FOLDER }}
-
- - name: Setup PHP
- uses: shivammathur/setup-php@v2
- with:
- php-version: ${{ matrix.php-versions }}
- extensions: mbstring, xml, json, zlib, iconv, intl, pdo_sqlite
- ini-values: date.timezone="Africa/Tunis", opcache.fast_shutdown=0, apc.enable_cli=on
-
- - name: Set Neos Version
- run: composer require neos/neos ^${{ matrix.neos-versions }} --no-progress --no-interaction
-
- - name: Run Tests
- run: composer test
+ test:
+ name: "Test (PHP ${{ matrix.php-versions }}, Neos ${{ matrix.neos-versions }})"
+
+ strategy:
+ fail-fast: false
+ matrix:
+ php-versions: [ '7.4' ]
+ neos-versions: [ '7.3' ]
+ include:
+ - php-versions: '8.1'
+ neos-versions: '8.3'
+ runs-on: ubuntu-latest
+
+ env:
+ FLOW_CONTEXT: Testing
+ NEOS_FOLDER: neos/
+ DIST_FOLDER: DistributionPackages/Sitegeist.LostInTranslation
+
+ steps:
+ - name: Setup PHP
+ uses: shivammathur/setup-php@v2
+ with:
+ php-version: ${{ matrix.php-versions }}
+ extensions: mbstring, xml, json, zlib, iconv, intl, pdo_sqlite, mysql, pgsql, redis, memcached, memcache, apcu
+ ini-values: date.timezone="Africa/Tunis", opcache.fast_shutdown=0, apc.enable_cli=on
+
+ - name: Install Neos Project and other dependencies
+ run: |
+ rm -rf ${{ env.NEOS_FOLDER }}
+ mkdir ${{ env.NEOS_FOLDER }}
+ composer create --no-scripts --no-install neos/neos-base-distribution "${{ env.NEOS_FOLDER }}" "^${{ matrix.neos-versions }}"
+ cd "${{ env.NEOS_FOLDER }}"
+ composer require fakerphp/faker "^1.23.0" --no-install
+ composer config --no-plugins allow-plugins.neos/composer-plugin true
+
+ - name: Checkout
+ uses: actions/checkout@v2
+ with:
+ path: ${{ env.NEOS_FOLDER }}/${{ env.DIST_FOLDER }}
+
+ - name: Finish composer setup
+ run: |
+ cd "${{ env.NEOS_FOLDER }}"
+ composer config repositories.lostintranslation '{ "type": "path", "url": "./${{ env.DIST_FOLDER }}", "options": { "symlink": false } }'
+ composer require sitegeist/lostintranslation "@dev" --no-install
+
+ - name: Cache Composer packages
+ id: composer-cache
+ uses: actions/cache@v2
+ with:
+ path: |
+ ~/.cache/composer
+ ~/${{ env.NEOS_FOLDER }}/Packages
+ key: php-${{ matrix.php-versions }}-${{ matrix.dependencies }}${{ hashFiles('**/composer.json') }}
+ restore-keys: php-${{ matrix.php-versions }}-${{ matrix.dependencies }}
+
+ - name: Install dependencies
+ run: |
+ cd ${{ env.NEOS_FOLDER }}
+ composer ${{ matrix.dependencies == 'locked' && 'install' || 'update' }} --no-progress --no-interaction ${{ matrix.dependencies == 'lowest' && '--prefer-lowest' || '' }} ${{ matrix.composer-arguments }}
+
+ - name: Set Flow Context
+ run: echo "FLOW_CONTEXT=${{ env.FLOW_CONTEXT }}" >> $GITHUB_ENV
+
+ - name: Run style tests
+ run: |
+ phpcs --colors -n --standard=PSR12 ${{ env.NEOS_FOLDER }}/${{ env.DIST_FOLDER }}/Classes
+
+ - name: Run stan tests
+ run: |
+ phpstan analyse ${{ env.NEOS_FOLDER }}/${{ env.DIST_FOLDER }}/Classes
+
+ - name: Run unit tests
+ run: |
+ cd "${{ env.NEOS_FOLDER }}"
+ bin/phpunit --colors --stop-on-failure -c DistributionPackages/Sitegeist.LostInTranslation/Tests/UnitTests.xml --testsuite "LostInTranslation" --verbose
+
+ - name: Run functional tests
+ run: |
+ cd "${{ env.NEOS_FOLDER }}"
+ bin/phpunit --colors --stop-on-failure -c DistributionPackages/Sitegeist.LostInTranslation/Tests/FunctionalTests.xml --testsuite "LostInTranslation" --verbose
diff --git a/Tests/FunctionalTests.xml b/Tests/FunctionalTests.xml
index 23278d9..db1444d 100644
--- a/Tests/FunctionalTests.xml
+++ b/Tests/FunctionalTests.xml
@@ -3,19 +3,19 @@
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd"
beStrictAboutChangesToGlobalState="true"
beStrictAboutOutputDuringTests="true"
- bootstrap="FunctionalTestBootstrap.php"
+ bootstrap="../../../Build/BuildEssentials/PhpUnit/FunctionalTestBootstrap.php"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
timeoutForSmallTests="0">
-
+
Functional
- Data/Temporary/Testing/Cache/Code/Flow_Object_Classes/
+ ../../../Data/Temporary/Testing/Cache/Code/Flow_Object_Classes/
diff --git a/Tests/UnitTests.xml b/Tests/UnitTests.xml
index 3f828f3..fec4255 100644
--- a/Tests/UnitTests.xml
+++ b/Tests/UnitTests.xml
@@ -3,19 +3,19 @@
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd"
beStrictAboutChangesToGlobalState="true"
beStrictAboutOutputDuringTests="true"
- bootstrap="UnitTestBootstrap.php"
+ bootstrap="../../../Build/BuildEssentials/PhpUnit/UnitTestBootstrap.php"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
timeoutForSmallTests="0">
-
+
Unit
- ../Classes
+ ../../../Packages/*/*/Classes