Skip to content

[Platform] Introduce CachedPlatform #2656

[Platform] Introduce CachedPlatform

[Platform] Introduce CachedPlatform #2656

name: Integration Tests
on:
push:
paths-ignore:
- 'src/*/doc/**'
- 'src/**/*.md'
pull_request:
paths-ignore:
- 'src/*/doc/**'
- 'src/**/*.md'
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
env:
REQUIRED_PHP_EXTENSIONS: 'mongodb, redis'
jobs:
examples:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php-version: ['8.2', '8.3', '8.4']
dependency-version: ['']
symfony-version: ['']
include:
# lowest deps
- php-version: '8.2'
dependency-version: 'lowest'
# LTS version of Symfony
- php-version: '8.2'
symfony-version: '7.4.*'
env:
SYMFONY_REQUIRE: ${{ matrix.symfony-version || '>=7.3' }}
steps:
- uses: actions/checkout@v5
- name: Up the examples services
working-directory: examples
run: docker compose up -d
- name: Configure environment
run: |
echo COLUMNS=120 >> $GITHUB_ENV
echo COMPOSER_UP='composer update ${{ matrix.dependency-version == 'lowest' && '--prefer-lowest --prefer-stable' || '' }} --no-progress --no-interaction --ansi --ignore-platform-req=ext-mongodb' >> $GITHUB_ENV
echo PHPUNIT='vendor/bin/phpunit' >> $GITHUB_ENV
[ 'lowest' = '${{ matrix.dependency-version }}' ] && export SYMFONY_DEPRECATIONS_HELPER=weak
PACKAGES=$(find src/ -mindepth 2 -type f -name composer.json -not -path "*/vendor/*" -printf '%h\n' | sed 's/^src\///' | grep -Ev "examples" | sort | tr '\n' ' ')
echo "Packages: $PACKAGES"
echo "PACKAGES=$PACKAGES" >> $GITHUB_ENV
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
tools: flex
extensions: "${{ env.REQUIRED_PHP_EXTENSIONS }}"
- name: Install root dependencies
uses: ramsey/composer-install@v3
- name: Install examples dependencies
uses: ramsey/composer-install@v3
with:
working-directory: examples
- name: Link examples
working-directory: examples
run: ../link
- name: Run commands examples
run: |
php examples/commands/stores.php
php examples/commands/message-stores.php
demo:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
tools: flex
extensions: "${{ env.REQUIRED_PHP_EXTENSIONS }}"
- name: Install root dependencies
uses: ramsey/composer-install@v3
- name: Install demo dependencies
uses: ramsey/composer-install@v3
with:
composer-options: "--no-scripts"
working-directory: demo
- name: Link demo
working-directory: demo
run: ../link
- run: composer run-script auto-scripts --no-interaction
working-directory: demo
- run: bin/console lint:container
working-directory: demo
- name: Run demo tests
working-directory: demo
run: vendor/bin/phpunit