diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml new file mode 100644 index 0000000..5c06fb3 --- /dev/null +++ b/.github/workflows/e2e-tests.yml @@ -0,0 +1,56 @@ +# https://help.github.com/en/categories/automating-your-workflow-with-github-actions + +name: "E2E Tests" + +on: + pull_request: + push: + branches: + - "2.0.x" + +concurrency: + group: e2e-${{ github.head_ref || github.run_id }} # will be canceled on subsequent pushes in pull requests but not branches + cancel-in-progress: true + +permissions: + contents: read + +jobs: + e2e-tests: + name: "E2E tests" + runs-on: "ubuntu-latest" + timeout-minutes: 60 + + strategy: + fail-fast: false + matrix: + include: + - script: | + cd e2e/bug-208 + composer install + vendor/bin/phpstan + + steps: + - name: Harden the runner (Audit all outbound calls) + uses: step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411 # v2.19.4 + with: + egress-policy: audit + + - name: "Checkout" + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + + - name: "Install PHP" + uses: "shivammathur/setup-php@7c071dfe9dc99bdf297fa79cb49ea005b9fcadbc" # v2.37.1 + with: + coverage: "none" + php-version: "8.3" + + - uses: "ramsey/composer-install@65e4f84970763564f46a70b8a54b90d033b3bdda" # v4.0.0 + + - name: "Install bashunit" + uses: "TypedDevs/bashunit@ffa9c79e71ecbb9990e777348bc9ba12314b62d0" # 0.39.1 + with: + directory: "e2e" + + - name: "Test" + run: ${{ matrix.script }} diff --git a/e2e/bug-208/.gitignore b/e2e/bug-208/.gitignore new file mode 100644 index 0000000..8b7ef35 --- /dev/null +++ b/e2e/bug-208/.gitignore @@ -0,0 +1,2 @@ +/vendor +composer.lock diff --git a/e2e/bug-208/composer.json b/e2e/bug-208/composer.json new file mode 100644 index 0000000..8f24ae8 --- /dev/null +++ b/e2e/bug-208/composer.json @@ -0,0 +1,13 @@ +{ + "require-dev": { + "nette/utils": "^3.2.5", + "phpstan/phpstan-nette": "@dev", + "phpstan/phpstan": "@dev" + }, + "repositories": [ + { + "type": "path", + "url": "../../" + } + ] +} diff --git a/e2e/bug-208/phpstan.neon b/e2e/bug-208/phpstan.neon new file mode 100644 index 0000000..8ea2ed2 --- /dev/null +++ b/e2e/bug-208/phpstan.neon @@ -0,0 +1,8 @@ +includes: + - ../../extension.neon + - ../../rules.neon + +parameters: + level: 8 + paths: + - src diff --git a/e2e/bug-208/src/foo.php b/e2e/bug-208/src/foo.php new file mode 100644 index 0000000..bc753cc --- /dev/null +++ b/e2e/bug-208/src/foo.php @@ -0,0 +1,18 @@ +setRootExpr($node); } }