Fix "offset might not exist" false-positives when offset is a expression #23423
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
# https://help.github.com/en/categories/automating-your-workflow-with-github-actions | |
name: "Lint" | |
on: | |
pull_request: | |
push: | |
branches: | |
- "2.1.x" | |
concurrency: | |
group: lint-${{ github.head_ref || github.run_id }} # will be canceled on subsequent pushes in pull requests but not branches | |
cancel-in-progress: true | |
jobs: | |
lint: | |
name: "Lint" | |
runs-on: "ubuntu-latest" | |
timeout-minutes: 60 | |
strategy: | |
fail-fast: false | |
matrix: | |
php-version: | |
- "7.4" | |
- "8.0" | |
- "8.1" | |
- "8.2" | |
- "8.3" | |
- "8.4" | |
- "8.5" | |
steps: | |
- name: "Checkout" | |
uses: actions/checkout@v4 | |
- name: "Install PHP" | |
uses: "shivammathur/setup-php@v2" | |
with: | |
coverage: "none" | |
php-version: "${{ matrix.php-version }}" | |
- name: "Downgrade PHPUnit" | |
if: matrix.php-version == '7.4' || matrix.php-version == '8.0' || matrix.php-version == '8.1' | |
run: "composer require --dev phpunit/phpunit:^9.6 sebastian/diff:^4.0 --update-with-dependencies --ignore-platform-reqs" | |
- uses: "ramsey/composer-install@v3" | |
- name: "Change to simple-downgrade PHP version" | |
if: matrix.php-version == '7.4' || matrix.php-version == '8.0' || matrix.php-version == '8.1' | |
uses: "shivammathur/setup-php@v2" | |
with: | |
coverage: "none" | |
php-version: "8.4" | |
- name: "Transform source code" | |
if: matrix.php-version == '7.4' || matrix.php-version == '8.0' || matrix.php-version == '8.1' | |
run: | | |
composer install --no-interaction --no-progress --working-dir=compiler | |
./compiler/vendor/bin/simple-downgrade downgrade -c build/downgrade.php ${{ matrix.php-version }} | |
composer dump | |
- name: "Re-store PHP version" | |
if: matrix.php-version == '7.4' || matrix.php-version == '8.0' || matrix.php-version == '8.1' | |
uses: "shivammathur/setup-php@v2" | |
with: | |
coverage: "none" | |
php-version: "${{ matrix.php-version }}" | |
- name: "Validate Composer" | |
run: "composer validate" | |
- name: "Lint" | |
run: "make lint" | |
coding-standards: | |
name: "Coding Standard" | |
runs-on: "ubuntu-latest" | |
timeout-minutes: 60 | |
steps: | |
- name: "Checkout" | |
uses: actions/checkout@v4 | |
- name: "Checkout build-cs" | |
uses: actions/checkout@v4 | |
with: | |
repository: "phpstan/build-cs" | |
path: "build-cs" | |
ref: "2.x" | |
- name: "Install PHP" | |
uses: "shivammathur/setup-php@v2" | |
with: | |
coverage: "none" | |
php-version: "8.2" | |
- name: "Validate Composer" | |
run: "composer validate" | |
- uses: "ramsey/composer-install@v3" | |
- name: "Install build-cs dependencies" | |
uses: "ramsey/composer-install@v3" | |
with: | |
working-directory: "build-cs" | |
- name: "Lint" | |
run: "make lint" | |
- name: "Coding Standard" | |
run: "make cs" | |
dependency-analysis: | |
name: "Dependency Analysis" | |
runs-on: "ubuntu-latest" | |
timeout-minutes: 60 | |
steps: | |
- name: "Checkout" | |
uses: actions/checkout@v4 | |
- name: "Install PHP" | |
uses: "shivammathur/setup-php@v2" | |
with: | |
coverage: "none" | |
php-version: "8.3" | |
- uses: "ramsey/composer-install@v3" | |
- name: "Composer Dependency Analyser" | |
run: "make composer-dependency-analyser" | |
name-collision: | |
name: "Name Collision Detector" | |
runs-on: "ubuntu-latest" | |
timeout-minutes: 60 | |
steps: | |
- name: "Checkout" | |
uses: actions/checkout@v4 | |
- name: "Install PHP" | |
uses: "shivammathur/setup-php@v2" | |
with: | |
coverage: "none" | |
php-version: "8.5" | |
- uses: "ramsey/composer-install@v3" | |
- name: "Name Collision Detector" | |
run: "make name-collision" |