From 3a24edfe1d620f3c06341e8cbed2b9688f6354c5 Mon Sep 17 00:00:00 2001 From: MartinOscar <40749467+rmartinoscar@users.noreply.github.com> Date: Sun, 9 Mar 2025 01:58:50 +0100 Subject: [PATCH] Tests: Make `PHPstan` run in 8.2, 8.3 & 8.4 (#1072) * Add PHP [8.2,8.3,8.4] matrices to `phpstan` * Use a pointer with `unset($this)` to make PHP 8.4 happy --- .github/workflows/lint.yaml | 21 +++++++++++++++++++-- app/Extensions/Backups/BackupManager.php | 3 ++- app/Livewire/AlertBannerContainer.php | 3 ++- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index 4078a718a..b00b810b4 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -32,14 +32,31 @@ jobs: phpstan: name: PHPStan runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + php: [8.2, 8.3, 8.4] steps: - name: Code Checkout uses: actions/checkout@v4 + - name: Get cache directory + id: composer-cache + run: | + echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT + + - name: Cache + uses: actions/cache@v4 + with: + path: ${{ steps.composer-cache.outputs.dir }} + key: ${{ runner.os }}-composer-${{ matrix.php }}-${{ hashFiles('**/composer.lock') }} + restore-keys: | + ${{ runner.os }}-composer-${{ matrix.php }}- + - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: "8.3" + php-version: ${{ matrix.php }} extensions: bcmath, curl, gd, mbstring, mysql, openssl, pdo, tokenizer, xml, zip tools: composer:v2 coverage: none @@ -51,4 +68,4 @@ jobs: run: composer install --no-interaction --no-suggest --no-progress --no-scripts - name: PHPStan - run: vendor/bin/phpstan --memory-limit=-1 + run: vendor/bin/phpstan --memory-limit=-1 \ No newline at end of file diff --git a/app/Extensions/Backups/BackupManager.php b/app/Extensions/Backups/BackupManager.php index 3ad5d8a5f..8c98febb6 100644 --- a/app/Extensions/Backups/BackupManager.php +++ b/app/Extensions/Backups/BackupManager.php @@ -156,8 +156,9 @@ class BackupManager */ public function forget(array|string $adapter): self { + $adapters = &$this->adapters; foreach ((array) $adapter as $adapterName) { - unset($this->adapters[$adapterName]); + unset($adapters[$adapterName]); } return $this; diff --git a/app/Livewire/AlertBannerContainer.php b/app/Livewire/AlertBannerContainer.php index 450cfc689..8f2c03f3c 100644 --- a/app/Livewire/AlertBannerContainer.php +++ b/app/Livewire/AlertBannerContainer.php @@ -26,7 +26,8 @@ class AlertBannerContainer extends Component public function remove(string $id): void { - unset($this->alertBanners[$id]); + $alertBanners = &$this->alertBanners; + unset($alertBanners[$id]); } public function render(): View