dependencies : allow symfony 8, and test against PHP 8.5 #585
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: CI | |
| on: | |
| push: | |
| branches: [master] | |
| pull_request: | |
| schedule: | |
| - cron: "0 0 * * MON" | |
| jobs: | |
| check-cs: | |
| name: Check Coding Standards | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| - name: PHP-CS-Fixer | |
| uses: docker://oskarstark/php-cs-fixer-ga | |
| with: | |
| args: --config=.php-cs-fixer.php --diff --dry-run | |
| phpstan: | |
| name: PHPStan | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: "Checkout" | |
| uses: actions/checkout@v5 | |
| - name: Setup PHP, with composer and extensions | |
| uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: 8.1 | |
| - name: PHPStan | |
| uses: docker://oskarstark/phpstan-ga | |
| env: | |
| REQUIRE_DEV: true | |
| with: | |
| args: analyse | |
| tests_es: | |
| name: Test PHP ${{ matrix.php-version }} & Symfony ${{ matrix.symfony-version }} ${{ matrix.composer-flags }} & Elasticsearch ${{ matrix.es-version }} | |
| runs-on: ubuntu-latest | |
| env: | |
| SYMFONY_REQUIRE: ${{ matrix.symfony-version }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| # Every lowest supported version | |
| - php-version: "8.0" | |
| symfony-version: "5.4.*" | |
| composer-flags: "--prefer-lowest" | |
| es-version: "7.17.25" | |
| elastica-version: "8.*" | |
| # PHP 8.1, latest SF 6, ES 7 | |
| - php-version: "8.1" | |
| symfony-version: "6.*" | |
| composer-flags: "" | |
| es-version: "7.17.25" | |
| elastica-version: "8.*" | |
| # PHP 8.2, latest SF 6, ES 8 | |
| - php-version: "8.2" | |
| symfony-version: "6.*" | |
| composer-flags: "" | |
| es-version: "8.16.0" | |
| elastica-version: "8.*" | |
| # PHP 8.3, latest SF 7, ES 8 | |
| - php-version: "8.3" | |
| symfony-version: "7.*" | |
| composer-flags: "" | |
| es-version: "8.16.0" | |
| elastica-version: "8.*" | |
| # PHP 8.4, latest SF 7, ES 8 | |
| - php-version: "8.4" | |
| symfony-version: "7.*" | |
| composer-flags: "" | |
| es-version: "8.16.0" | |
| elastica-version: "8.*" | |
| # PHP 8.4, latest SF 7, ES 9.1.5, elastica 8 | |
| - php-version: "8.4" | |
| symfony-version: "7.*" | |
| composer-flags: "" | |
| es-version: "9.1.5" | |
| elastica-version: "8.*" | |
| # PHP 8.4, latest SF 7, ES 9.1.5, elastica 9 | |
| - php-version: "8.4" | |
| symfony-version: "7.*" | |
| composer-flags: "" | |
| es-version: "9.1.5" | |
| elastica-version: "9.*" | |
| # PHP 8.4, latest SF 8, ES 8 | |
| - php-version: "8.4" | |
| symfony-version: "8.*" | |
| composer-flags: "" | |
| es-version: "8.16.0" | |
| elastica-version: "8.*" | |
| # PHP 8.5, latest SF 8, ES 8 | |
| - php-version: "8.5" | |
| symfony-version: "8.*" | |
| composer-flags: "" | |
| es-version: "8.16.0" | |
| elastica-version: "8.*" | |
| # PHP 8.4, latest SF 8, ES 9.1.5, elastica 8 | |
| - php-version: "8.4" | |
| symfony-version: "8.*" | |
| composer-flags: "" | |
| es-version: "9.1.5" | |
| elastica-version: "8.*" | |
| # PHP 8.4, latest SF 8, ES 9.1.5, elastica 9 | |
| - php-version: "8.4" | |
| symfony-version: "8.*" | |
| composer-flags: "" | |
| es-version: "9.1.5" | |
| elastica-version: "9.*" | |
| # PHP 8.5, latest SF 8, ES 9.1.5, elastica 9 | |
| - php-version: "8.5" | |
| symfony-version: "8.*" | |
| composer-flags: "" | |
| es-version: "9.1.5" | |
| elastica-version: "9.*" | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| - name: Setup PHP, with composer and extensions | |
| uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: ${{ matrix.php-version }} | |
| - name: Setup castor | |
| uses: castor-php/setup-castor@v0.1.0 | |
| # We need Flex to enforce Symfony version with `SYMFONY_REQUIRE` env var | |
| - name: Install Symfony Flex | |
| run: composer global require --no-progress --no-scripts --no-plugins symfony/flex | |
| - name: Enable Symfony Flex | |
| run: composer global config --no-plugins allow-plugins.symfony/flex true | |
| - name: Configure Elastica | |
| run: composer require ruflin/elastica ${{ matrix.elastica-version }} --no-update | |
| - name: Install Composer dependencies | |
| run: composer update --prefer-dist --no-interaction --no-ansi ${{ matrix.composer-flags }} | |
| - name: Configure sysctl limits | |
| run: | | |
| sudo swapoff -a | |
| sudo sysctl -w vm.swappiness=1 | |
| sudo sysctl -w fs.file-max=262144 | |
| sudo sysctl -w vm.max_map_count=262144 | |
| - name: Runs Elasticsearch ${{ matrix.es-version }} | |
| uses: elastic/elastic-github-actions/elasticsearch@master | |
| with: | |
| security-enabled: false | |
| stack-version: ${{ matrix.es-version }} | |
| port: 9999 | |
| - name: Wait for ES to be ready | |
| run: | | |
| while ! curl -s -X GET http://127.0.0.1:9999/_cluster/health\?wait_for_status\=green\&timeout\=60s | grep -q '"status":"green"' | |
| do | |
| echo "==> Waiting for cluster green status" && sleep 1 | |
| done | |
| - name: Run Tests | |
| run: castor test |