-
Notifications
You must be signed in to change notification settings - Fork 11
135 lines (116 loc) · 3.79 KB
/
tests.yml
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
name: Github Tests
on:
push:
branches:
- '!stable'
- '!poggit'
paths:
- '**.php'
- '.github/workflows/*'
- 'test/github/*'
pull_request:
types:
- opened
- reopened
- synchronize
- ready_for_review
jobs:
get-php:
name: Download PHP
runs-on: ubuntu-22.04
if: ${{ !github.event.pull_request.draft }}
steps:
- uses: actions/checkout@v3
- name: Check for PHP cache
id: php-cache
uses: actions/cache@v3
with:
path: "./bin"
key: "php-cache-${{ hashFiles('./test/github/get-php.sh') }}"
- name: Download PHP
if: steps.php-cache.outputs.cache-hit != 'true'
run: ./test/github/get-php.sh
code-style:
name: Code Style Checks
needs: get-php
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- name: Restore PHP cache
id: php-cache
uses: actions/cache@v3
with:
path: "./bin"
key: "php-cache-${{ hashFiles('./test/github/get-php.sh') }}"
- name: Prefix PHP to PATH
run: echo "$(pwd)/bin/php7/bin" >> $GITHUB_PATH
- name: Install Composer
run: curl -sS https://getcomposer.org/installer | php
- name: Restore Composer package cache
id: composer-cache-php-cs-fixer
uses: actions/cache@v3
with:
path: |
~/.cache/composer/files
~/.cache/composer/vcs
./vendor
key: "composer-v3-cache-php-cs-fixer-${{ hashFiles('./tools/php-cs-fixer/composer.lock') }}"
restore-keys: |
composer-v3-cache-php-cs-fixer-
- name: Install Composer dependencies
if: steps.composer-cache.outputs.cache-hit != 'true'
run: php composer.phar install -d tools/php-cs-fixer --no-interaction
- name: Save Composer package cache
if: steps.composer-cache.outputs.cache-hit != 'true'
id: composer-cache-save
uses: actions/cache/save@v3
with:
path: |
~/.cache/composer/files
~/.cache/composer/vcs
./vendor
key: "composer-v3-cache-php-cs-fixer-${{ hashFiles('./tools/php-cs-fixer/composer.lock') }}"
- name: Run PHP-CS-Fixer
run: ./tools/php-cs-fixer/vendor/bin/php-cs-fixer fix --dry-run --diff --ansi
analysis:
name: PHPStan
needs: get-php
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- name: Restore PHP cache
id: php-cache
uses: actions/cache@v3
with:
path: "./bin"
key: "php-cache-${{ hashFiles('./test/github/get-php.sh') }}"
- name: Prefix PHP to PATH
run: echo "$(pwd)/bin/php7/bin" >> $GITHUB_PATH
- name: Install Composer
run: curl -sS https://getcomposer.org/installer | php
- name: Restore Composer package cache
id: composer-cache
uses: actions/cache@v3
with:
path: |
~/.cache/composer/files
~/.cache/composer/vcs
./vendor
key: "composer-v3-cache-${{ hashFiles('./composer.lock') }}"
restore-keys: |
composer-v3-cache-
- name: Install Composer dependencies
if: steps.composer-cache.outputs.cache-hit != 'true'
run: php composer.phar install --no-interaction
- name: Save Composer package cache
if: steps.composer-cache.outputs.cache-hit != 'true'
id: composer-cache-save
uses: actions/cache/save@v3
with:
path: |
~/.cache/composer/files
~/.cache/composer/vcs
./vendor
key: "composer-v3-cache-${{ hashFiles('./composer.lock') }}"
- name: Run PHPStan
run: ./vendor/bin/phpstan analyze --no-progress --memory-limit=2G --error-format=github