Lock file maintenance #4459
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
| # https://help.github.com/en/categories/automating-your-workflow-with-github-actions | |
| name: "Continuous Integration" | |
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - "*.*.x" | |
| - "renovate/*" | |
| jobs: | |
| phpunit: | |
| name: "PHPUnit tests" | |
| runs-on: ${{ matrix.operating-system }} | |
| strategy: | |
| matrix: | |
| dependencies: | |
| - "lowest" | |
| - "highest" | |
| - "locked" | |
| php-version: | |
| - "8.4" | |
| - "8.5" | |
| operating-system: | |
| - "ubuntu-latest" | |
| - "windows-latest" | |
| steps: | |
| - name: "Checkout" | |
| uses: "actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1" # v7 | |
| - name: "Install PHP" | |
| uses: "shivammathur/setup-php@f3e473d116dcccaddc5834248c87452386958240" # 2.37.2 | |
| with: | |
| coverage: "pcov" | |
| php-version: "${{ matrix.php-version }}" | |
| extensions: intl, sodium | |
| ini-values: memory_limit=-1 | |
| - name: "Install dependencies" | |
| uses: "ramsey/composer-install@65e4f84970763564f46a70b8a54b90d033b3bdda" # 4.0.0 | |
| with: | |
| dependency-versions: "${{ matrix.dependencies }}" | |
| - name: "Install CI dependencies" | |
| uses: "ramsey/composer-install@65e4f84970763564f46a70b8a54b90d033b3bdda" # 4.0.0 | |
| with: | |
| dependency-versions: "${{ matrix.dependencies }}" | |
| working-directory: "tools" | |
| custom-cache-suffix: "ci" | |
| - name: "Tests" | |
| run: "vendor/bin/phpunit" | |
| static-analysis-phpstan: | |
| name: "Static Analysis by PHPStan" | |
| runs-on: ${{ matrix.operating-system }} | |
| strategy: | |
| matrix: | |
| dependencies: | |
| - "locked" | |
| php-version: | |
| - "8.4" | |
| - "8.5" | |
| operating-system: | |
| - "ubuntu-latest" | |
| steps: | |
| - name: "Checkout" | |
| uses: "actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1" # v7 | |
| - name: "Install PHP" | |
| uses: "shivammathur/setup-php@f3e473d116dcccaddc5834248c87452386958240" # 2.37.2 | |
| with: | |
| coverage: "none" | |
| php-version: "${{ matrix.php-version }}" | |
| extensions: intl, sodium | |
| ini-values: memory_limit=-1 | |
| - name: "Install dependencies" | |
| uses: "ramsey/composer-install@65e4f84970763564f46a70b8a54b90d033b3bdda" # 4.0.0 | |
| with: | |
| dependency-versions: "${{ matrix.dependencies }}" | |
| - name: "Install CI dependencies" | |
| uses: "ramsey/composer-install@65e4f84970763564f46a70b8a54b90d033b3bdda" # 4.0.0 | |
| with: | |
| dependency-versions: "${{ matrix.dependencies }}" | |
| working-directory: "tools" | |
| custom-cache-suffix: "ci" | |
| - name: "PHPStan" | |
| run: "tools/vendor/bin/phpstan analyse --memory-limit=-1" | |
| static-analysis-psalm: | |
| name: "Static Analysis by Psalm" | |
| runs-on: ${{ matrix.operating-system }} | |
| strategy: | |
| matrix: | |
| dependencies: | |
| - "locked" | |
| php-version: | |
| - "8.4" | |
| # Psalm currently fails | |
| # - "8.5" | |
| operating-system: | |
| - "ubuntu-latest" | |
| steps: | |
| - name: "Checkout" | |
| uses: "actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1" # v7 | |
| - name: "Install PHP" | |
| uses: "shivammathur/setup-php@f3e473d116dcccaddc5834248c87452386958240" # 2.37.2 | |
| with: | |
| coverage: "none" | |
| php-version: "${{ matrix.php-version }}" | |
| extensions: intl, sodium | |
| ini-values: memory_limit=-1 | |
| - name: "Install dependencies" | |
| uses: "ramsey/composer-install@65e4f84970763564f46a70b8a54b90d033b3bdda" # 4.0.0 | |
| with: | |
| dependency-versions: "${{ matrix.dependencies }}" | |
| - name: "Install CI dependencies" | |
| uses: "ramsey/composer-install@65e4f84970763564f46a70b8a54b90d033b3bdda" # 4.0.0 | |
| with: | |
| dependency-versions: "${{ matrix.dependencies }}" | |
| working-directory: "tools" | |
| custom-cache-suffix: "ci" | |
| - name: "psalm" | |
| run: "tools/vendor/bin/psalm --shepherd --stats" | |
| mutation-tests: | |
| name: "Mutation tests" | |
| runs-on: ${{ matrix.operating-system }} | |
| strategy: | |
| matrix: | |
| dependencies: | |
| - "locked" | |
| php-version: | |
| - "8.4" | |
| operating-system: | |
| - "ubuntu-latest" | |
| steps: | |
| - name: "Checkout" | |
| uses: "actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1" # v7 | |
| - name: "Install PHP" | |
| uses: "shivammathur/setup-php@f3e473d116dcccaddc5834248c87452386958240" # 2.37.2 | |
| with: | |
| coverage: "xdebug" | |
| php-version: "${{ matrix.php-version }}" | |
| extensions: intl, sodium | |
| ini-values: memory_limit=-1, zend.assertions=1 | |
| - name: "Install dependencies" | |
| uses: "ramsey/composer-install@65e4f84970763564f46a70b8a54b90d033b3bdda" # 4.0.0 | |
| with: | |
| dependency-versions: "${{ matrix.dependencies }}" | |
| - name: "Install CI dependencies" | |
| uses: "ramsey/composer-install@65e4f84970763564f46a70b8a54b90d033b3bdda" # 4.0.0 | |
| with: | |
| dependency-versions: "${{ matrix.dependencies }}" | |
| working-directory: "tools" | |
| custom-cache-suffix: "ci" | |
| - name: "Infection" | |
| run: "tools/vendor/bin/infection" | |
| env: | |
| INFECTION_BADGE_API_KEY: ${{ secrets.INFECTION_BADGE_API_KEY }} | |
| STRYKER_DASHBOARD_API_KEY: ${{ secrets.STRYKER_DASHBOARD_API_KEY }} | |
| compatibility: | |
| name: "Test Compatibility" | |
| runs-on: ${{ matrix.operating-system }} | |
| strategy: | |
| matrix: | |
| dependencies: | |
| - "locked" | |
| php-version: | |
| - "8.4" | |
| operating-system: | |
| - "ubuntu-latest" | |
| - "windows-latest" | |
| steps: | |
| - name: "Checkout" | |
| uses: "actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1" # v7 | |
| - name: "Install PHP" | |
| uses: "shivammathur/setup-php@f3e473d116dcccaddc5834248c87452386958240" # 2.37.2 | |
| with: | |
| coverage: "none" | |
| php-version: "${{ matrix.php-version }}" | |
| extensions: intl, sodium | |
| ini-values: memory_limit=-1 | |
| - name: "Install dependencies" | |
| uses: "ramsey/composer-install@65e4f84970763564f46a70b8a54b90d033b3bdda" # 4.0.0 | |
| with: | |
| dependency-versions: "${{ matrix.dependencies }}" | |
| - name: "Install CI dependencies" | |
| uses: "ramsey/composer-install@65e4f84970763564f46a70b8a54b90d033b3bdda" # 4.0.0 | |
| with: | |
| dependency-versions: "${{ matrix.dependencies }}" | |
| working-directory: "tools" | |
| custom-cache-suffix: "ci" | |
| - name: "Test Compatibility" | |
| run: "vendor/bin/phpunit test/compat" | |
| demo-scripts: | |
| name: "Check Demo Scripts" | |
| runs-on: ${{ matrix.operating-system }} | |
| strategy: | |
| matrix: | |
| dependencies: | |
| - "locked" | |
| php-version: | |
| - "8.4" | |
| operating-system: | |
| - "ubuntu-latest" | |
| steps: | |
| - name: "Checkout" | |
| uses: "actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1" # v7 | |
| - name: "Install PHP" | |
| uses: "shivammathur/setup-php@f3e473d116dcccaddc5834248c87452386958240" # 2.37.2 | |
| with: | |
| coverage: "none" | |
| php-version: "${{ matrix.php-version }}" | |
| extensions: intl, sodium | |
| ini-values: memory_limit=-1 | |
| - name: "Install dependencies" | |
| uses: "ramsey/composer-install@65e4f84970763564f46a70b8a54b90d033b3bdda" # 4.0.0 | |
| with: | |
| dependency-versions: "${{ matrix.dependencies }}" | |
| - name: "Check Demo Scripts" | |
| run: "test/demo/check-demo.sh" | |
| benchmarks: | |
| name: "Run benchmarks" | |
| runs-on: ${{ matrix.operating-system }} | |
| strategy: | |
| matrix: | |
| dependencies: | |
| - "locked" | |
| php-version: | |
| - "8.4" | |
| operating-system: | |
| - "ubuntu-latest" | |
| - "windows-latest" | |
| steps: | |
| - name: "Checkout" | |
| uses: "actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1" # v7 | |
| - name: "Install PHP" | |
| uses: "shivammathur/setup-php@f3e473d116dcccaddc5834248c87452386958240" # 2.37.2 | |
| with: | |
| coverage: "none" | |
| php-version: "${{ matrix.php-version }}" | |
| extensions: intl, sodium | |
| ini-values: memory_limit=-1 | |
| - name: "Install dependencies" | |
| uses: "ramsey/composer-install@65e4f84970763564f46a70b8a54b90d033b3bdda" # 4.0.0 | |
| with: | |
| dependency-versions: "${{ matrix.dependencies }}" | |
| - name: "Install CI dependencies" | |
| uses: "ramsey/composer-install@65e4f84970763564f46a70b8a54b90d033b3bdda" # 4.0.0 | |
| with: | |
| dependency-versions: "${{ matrix.dependencies }}" | |
| working-directory: "tools" | |
| custom-cache-suffix: "ci" | |
| - name: "PhpBench" | |
| run: "vendor/bin/phpbench run --progress=dots --iterations=1" | |
| coding-standards: | |
| name: "Check Coding Standards" | |
| runs-on: ${{ matrix.operating-system }} | |
| strategy: | |
| matrix: | |
| dependencies: | |
| - "locked" | |
| php-version: | |
| - "8.4" | |
| operating-system: | |
| - "ubuntu-latest" | |
| steps: | |
| - name: "Checkout" | |
| uses: "actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1" # v7 | |
| - name: "Install PHP" | |
| uses: "shivammathur/setup-php@f3e473d116dcccaddc5834248c87452386958240" # 2.37.2 | |
| with: | |
| coverage: "none" | |
| php-version: "${{ matrix.php-version }}" | |
| extensions: intl, sodium | |
| ini-values: memory_limit=-1 | |
| - name: "Install dependencies" | |
| uses: "ramsey/composer-install@65e4f84970763564f46a70b8a54b90d033b3bdda" # 4.0.0 | |
| with: | |
| dependency-versions: "${{ matrix.dependencies }}" | |
| working-directory: "tools" | |
| custom-cache-suffix: "ci" | |
| - name: "Coding Standard" | |
| run: "tools/vendor/bin/phpcs" | |
| backward-compatibility: | |
| name: "Check Backward Compatibility" | |
| if: ${{github.event_name == 'pull_request'}} | |
| runs-on: ${{ matrix.operating-system }} | |
| strategy: | |
| matrix: | |
| dependencies: | |
| - "locked" | |
| php-version: | |
| - "8.4" | |
| operating-system: | |
| - "ubuntu-latest" | |
| steps: | |
| - name: "Checkout" | |
| uses: "actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1" # v7 | |
| with: | |
| fetch-depth: 0 | |
| - name: "Install PHP" | |
| uses: "shivammathur/setup-php@f3e473d116dcccaddc5834248c87452386958240" # 2.37.2 | |
| with: | |
| coverage: "none" | |
| php-version: "${{ matrix.php-version }}" | |
| extensions: intl, sodium | |
| ini-values: memory_limit=-1 | |
| - name: "Install dependencies" | |
| uses: "ramsey/composer-install@65e4f84970763564f46a70b8a54b90d033b3bdda" # 4.0.0 | |
| with: | |
| dependency-versions: "${{ matrix.dependencies }}" | |
| working-directory: "tools" | |
| custom-cache-suffix: "ci" | |
| - name: "BC Checks" | |
| run: tools/vendor/bin/roave-backward-compatibility-check --from=origin/${{ github.base_ref }} |