Skip to content

Commit 45d122d

Browse files
committed
Run Rector with phpstan.phar compiled with this phpdoc-parser
Amp-Thread-ID: https://ampcode.com/threads/T-01a179a5-580c-7253-9c42-00ace3f03617
1 parent d1130c3 commit 45d122d

1 file changed

Lines changed: 44 additions & 9 deletions

File tree

‎.github/workflows/test-rector-src.yml‎

Lines changed: 44 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,6 @@ jobs:
2424
- "8.4"
2525
- "8.5"
2626

27-
env:
28-
COMPOSER_ROOT_VERSION: "dev-main"
29-
3027
steps:
3128
- name: Harden the runner (Audit all outbound calls)
3229
uses: step-security/harden-runner@dc2769abcc0fcfbadfc1df54081c1608579ef6b2 # v2.22.2
@@ -36,6 +33,13 @@ jobs:
3633
- name: "Checkout"
3734
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
3835

36+
- name: "Checkout phpstan-src"
37+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
38+
with:
39+
repository: phpstan/phpstan-src
40+
path: phpstan-src
41+
ref: 2.3.x
42+
3943
- name: "Checkout rector-src"
4044
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
4145
with:
@@ -48,18 +52,49 @@ jobs:
4852
with:
4953
coverage: "none"
5054
php-version: "${{ matrix.php-version }}"
55+
extensions: mbstring, intl
5156
ini-values: zend.assertions=1
5257

53-
- name: "Install dependencies"
54-
working-directory: rector-src
58+
- name: "Install phpstan-src dependencies"
59+
working-directory: phpstan-src
60+
run: "composer install --no-interaction --no-progress"
61+
62+
- name: "Copy phpdoc-parser to phpstan-src"
63+
run: |
64+
rm -r phpstan-src/vendor/phpstan/phpdoc-parser/src
65+
cp -r src/ phpstan-src/vendor/phpstan/phpdoc-parser/src
66+
67+
- name: "Install compiler dependencies"
68+
working-directory: phpstan-src/compiler
5569
run: "composer install --no-interaction --no-progress"
5670

57-
- name: "Remove stable phpdoc-parser"
71+
- name: "Prepare for PHAR compilation"
72+
working-directory: phpstan-src/compiler
73+
run: "php bin/prepare"
74+
75+
- name: "Dump autoloader one more time for attributes"
76+
working-directory: phpstan-src
77+
run: "composer dump"
78+
79+
- name: "Install Box dependencies"
80+
working-directory: phpstan-src/compiler/box
81+
run: "composer install --no-interaction --no-progress"
82+
83+
- name: "Compile PHAR"
84+
working-directory: phpstan-src/compiler/build
85+
run: "php ../box/vendor/bin/box compile --no-parallel --sort-compiled-files"
86+
87+
- name: "Install rector-src dependencies"
5888
working-directory: rector-src
59-
run: "rm -r vendor/phpstan/phpdoc-parser/src"
89+
env:
90+
COMPOSER_ROOT_VERSION: "dev-main"
91+
run: "composer install --no-interaction --no-progress"
6092

61-
- name: "Copy phpdoc-parser"
62-
run: "cp -r src/ rector-src/vendor/phpstan/phpdoc-parser/src"
93+
- name: "Copy phpdoc-parser and phpstan.phar to rector-src"
94+
run: |
95+
rm -r rector-src/vendor/phpstan/phpdoc-parser/src
96+
cp -r src/ rector-src/vendor/phpstan/phpdoc-parser/src
97+
cp phpstan-src/tmp/phpstan.phar rector-src/vendor/phpstan/phpstan/phpstan.phar
6398
6499
- name: "Tests"
65100
working-directory: rector-src

0 commit comments

Comments
 (0)