FEATURE: Compatibility with Neos 9 #6
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Tests | |
| on: | |
| push: | |
| branches: [ main ] | |
| pull_request: | |
| branches: [ main ] | |
| env: | |
| PACKAGE_FOLDER: Shel.CriticalCSS | |
| jobs: | |
| codestyle: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Setup PHP | |
| uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: 8.2 | |
| - name: Add additional dependencies | |
| run: | | |
| composer require --no-update --no-interaction neos/contentgraph-doctrinedbaladapter:"~9.0.0" | |
| - name: Cache dependencies | |
| uses: actions/cache@v3 | |
| with: | |
| path: ~/.composer/cache | |
| key: dependencies-composer-${{ hashFiles('composer.json') }} | |
| - name: Install dependencies | |
| uses: php-actions/composer@v6 | |
| with: | |
| php_version: 8.2 | |
| version: 2 | |
| - name: PHPStan | |
| uses: php-actions/phpstan@v3 | |
| with: | |
| php_version: 8.2 | |
| version: 2.1.17 | |
| command: analyse | |
| path: 'Classes/' | |
| build: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| php-versions: | |
| - '8.2' | |
| neosVersion: | |
| - '9.0' | |
| services: | |
| mariadb: | |
| # see https://mariadb.com/kb/en/mariadb-server-release-dates/ | |
| # this should be a current release, e.g. the LTS version | |
| image: mariadb:10.8 | |
| env: | |
| MYSQL_USER: neos | |
| MYSQL_PASSWORD: neos | |
| MYSQL_DATABASE: neos_functional_testing | |
| MYSQL_ROOT_PASSWORD: neos | |
| ports: | |
| - "3306:3306" | |
| options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 | |
| name: 'Shel.CriticalCSS with Neos ${{ matrix.neosVersion }} test' | |
| env: | |
| NEOS_TARGET_VERSION: ${{matrix.neosVersion}} | |
| FLOW_CONTEXT: Testing | |
| FLOW_FOLDER: ../neos-base-distribution | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Set package branch name | |
| run: echo "PACKAGE_TARGET_VERSION=${GITHUB_BASE_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_ENV | |
| working-directory: . | |
| - name: Setup PHP | |
| uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: ${{ matrix.php-versions }} | |
| extensions: mbstring, xml, json, zlib, iconv, intl, pdo_sqlite, mysql | |
| tools: composer:v2 | |
| - name: Cache dependencies | |
| uses: actions/cache@v3 | |
| with: | |
| path: ~/.composer/cache | |
| key: dependencies-composer-${{ hashFiles('composer.json') }} | |
| - name: Prepare Flow distribution | |
| run: | | |
| git clone https://github.com/neos/neos-base-distribution.git -b ${NEOS_TARGET_VERSION} ${FLOW_FOLDER} | |
| cd ${FLOW_FOLDER} | |
| git -C ../${{ env.PACKAGE_FOLDER }} checkout -b build | |
| composer config repositories.package '{ "type": "path", "url": "../${{ env.PACKAGE_FOLDER }}", "options": { "symlink": false } }' | |
| composer require --no-update --no-interaction shel/critical-css:"dev-build as dev-${PACKAGE_TARGET_VERSION}" | |
| composer require --no-update --no-interaction neos/contentgraph-doctrinedbaladapter:"~9.0.0" | |
| - name: Composer Install | |
| run: | | |
| cd ${FLOW_FOLDER} | |
| composer update --no-interaction --no-progress | |
| - name: Setup Flow configuration | |
| run: | | |
| cd ${FLOW_FOLDER} | |
| rm -f Configuration/Testing/Settings.yaml | |
| cat <<EOF >> Configuration/Testing/Settings.yaml | |
| Neos: | |
| Flow: | |
| persistence: | |
| backendOptions: | |
| host: '127.0.0.1' | |
| driver: pdo_mysql | |
| user: 'neos' | |
| password: 'neos' | |
| dbname: 'neos_functional_testing' | |
| EOF | |
| - name: Run Functional tests | |
| run: | | |
| cd ${FLOW_FOLDER} | |
| bin/phpunit --colors -c Build/BuildEssentials/PhpUnit/FunctionalTests.xml Packages/Plugins/Shel.CriticalCSS/Tests/Functional/ |