Skip to content

Merge pull request #15 from calebdw/relation_class_forwarding #39

Merge pull request #15 from calebdw/relation_class_forwarding

Merge pull request #15 from calebdw/relation_class_forwarding #39

Workflow file for this run

name: "E2E"
on:
push:
paths-ignore:
- "**.md"
- 'docs/**'
# Prevent duplicating jobs on PR-s from local branches
branches:
- "2.x"
pull_request:
paths-ignore:
- "**.md"
- 'docs/**'
jobs:
integration-tests:
name: "Test with ${{ matrix.repository }} on PHP ${{ matrix.php-version }}"
runs-on: "ubuntu-latest"
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
include:
-
repository: monicahq/monica
ref: f769c18d4617c3ef8997a69026708a17a626acff
php-version: "8.2"
config: monicahq-monica.neon
baseline: monicahq-monica.baseline.neon
-
repository: koel/koel
ref: 44345753fa3b32fbb49586f127e6c621773b7d75
php-version: "8.1"
config: koel-koel.neon
baseline: koel-koel.baseline.neon
-
repository: canvural/larastan-test
ref: f6dddbd4916f199adc35419c6a1bd2c63ba6f734
php-version: "8.1"
config: canvural-larastan-test.neon
baseline: canvural-larastan-test.baseline.neon
-
repository: canvural/larastan-strict-rules
ref: 4f658a8f9ca5334de22f733bdba1d24cbe9303a6
php-version: "8.1"
config: canvural-larastan-strict-rules.neon
baseline: canvural-larastan-strict-rules.baseline.neon
-
repository: filamentphp/filament
ref: 6799de116ceac33778566a8aee533c0c3f97cd74
php-version: "8.2"
config: filamentphp-filament.neon
baseline: filamentphp-filament.baseline.neon
force-phpstan-version: true
steps:
- name: "Checkout"
uses: "actions/checkout@v4"
with:
path: "larastan"
- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: "none"
php-version: "${{ matrix.php-version }}"
- name: "Checkout dependent repo"
uses: "actions/checkout@v4"
with:
repository: "${{ matrix.repository }}"
ref: "${{ matrix.ref }}"
path: "e2e"
- name: "Install dependencies"
run: |
cd e2e/
composer install --no-scripts --no-interaction
composer config repositories.0 '{ "type": "path", "url": "../larastan" }'
composer config minimum-stability dev
if [ "${{ matrix.force-phpstan-version }}" = "true" ]; then
composer require --dev --update-with-all-dependencies "larastan/larastan:*" "phpstan/phpstan:*"
else
composer require --dev --update-with-all-dependencies "larastan/larastan:*"
fi
- name: "Perform static analysis"
working-directory: e2e
run: composer exec phpstan analyse -- -c "../larastan/e2e/${{ matrix.config }}"
- name: "Generate baseline"
if: ${{ failure() }}
working-directory: e2e
run: composer exec phpstan analyse -- -c ../larastan/e2e/${{ matrix.config }} -b ../larastan/e2e/${{ matrix.baseline }}
- uses: actions/upload-artifact@v3
if: ${{ failure() }}
with:
name: baselines
path: "larastan/e2e/${{ matrix.baseline }}"