Repository navigation
106 lines (85 loc) · 3.23 KB
/
Copy pathtest-rector-src.yml
File metadata and controls
106 lines (85 loc) · 3.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# https://help.github.com/en/categories/automating-your-workflow-with-github-actions
name: "Test Rector"
on:
pull_request:
push:
branches:
- "2.3.x"
permissions:
contents: read
jobs:
tests:
name: "Tests"
runs-on: "ubuntu-latest"
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
php-version:
- "8.4"
- "8.5"
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@dc2769abcc0fcfbadfc1df54081c1608579ef6b2 # v2.22.2
with:
egress-policy: audit
- name: "Checkout"
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: "Checkout phpstan-src"
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
repository: phpstan/phpstan-src
path: phpstan-src
ref: 2.3.x
- name: "Checkout rector-src"
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
repository: rectorphp/rector-src
path: rector-src
ref: main
- name: "Install PHP"
uses: "shivammathur/setup-php@eb7c497e18156a6bbabfef1d3a82760b9eda3962" # v2
with:
coverage: "none"
php-version: "${{ matrix.php-version }}"
extensions: mbstring, intl
ini-values: zend.assertions=1
- name: "Install phpstan-src dependencies"
working-directory: phpstan-src
run: "composer install --no-interaction --no-progress"
- name: "Copy phpdoc-parser to phpstan-src"
run: |
rm -r phpstan-src/vendor/phpstan/phpdoc-parser/src
cp -r src/ phpstan-src/vendor/phpstan/phpdoc-parser/src
- name: "Install compiler dependencies"
working-directory: phpstan-src/compiler
run: "composer install --no-interaction --no-progress"
- name: "Prepare for PHAR compilation"
working-directory: phpstan-src/compiler
run: "php bin/prepare"
- name: "Dump autoloader one more time for attributes"
working-directory: phpstan-src
run: "composer dump"
- name: "Install Box dependencies"
working-directory: phpstan-src/compiler/box
run: "composer install --no-interaction --no-progress"
- name: "Compile PHAR"
working-directory: phpstan-src/compiler/build
run: "php ../box/vendor/bin/box compile --no-parallel --sort-compiled-files"
- name: "Install rector-src dependencies"
working-directory: rector-src
env:
COMPOSER_ROOT_VERSION: "dev-main"
run: "composer install --no-interaction --no-progress"
- name: "Copy phpdoc-parser and phpstan.phar to rector-src"
run: |
rm -r rector-src/vendor/phpstan/phpdoc-parser/src
cp -r src/ rector-src/vendor/phpstan/phpdoc-parser/src
cp phpstan-src/tmp/phpstan.phar rector-src/vendor/phpstan/phpstan/phpstan.phar
- name: "Tests"
working-directory: rector-src
run: "vendor/bin/fastunit tests rules-tests utils/phpstan/tests"
- name: "PHPStan"
if: matrix.php-version == '8.4'
working-directory: rector-src
run: "vendor/bin/phpstan analyse --ansi"