-
-
Notifications
You must be signed in to change notification settings - Fork 195
129 lines (101 loc) · 3.83 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
name: Tests
on:
push: ~
pull_request: ~
permissions:
contents: read
jobs:
phpcs:
name: PHPCS
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: shivammathur/setup-php@v2
with:
php-version: 7.4
extensions: curl, mbstring, yaml
coverage: none
tools: composer:v2, cs2pr
- run: composer update --no-progress
- run: vendor/bin/phpcs -q --report=checkstyle | cs2pr
phpunit:
name: PHPUnit on ${{ matrix.php }} ${{ matrix.composer-flags }}
runs-on: ubuntu-latest
continue-on-error: ${{ !matrix.stable }}
strategy:
fail-fast: false
matrix:
php: ['7.4', '8.0', '8.1', '8.2', '8.3']
stable: [true]
coverage: [true]
composer-flags: ['']
include:
- php: '7.4'
stable: true
coverage: false
composer-flags: '--prefer-lowest'
- php: '8.4'
stable: false
coverage: false
composer-flags: '--ignore-platform-req=php'
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: curl, mbstring, yaml
coverage: pcov
tools: composer:v2
- run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
- run: composer update --no-progress ${{ matrix.composer-flags }}
- run: vendor/bin/phpunit --no-coverage
if: ${{ !matrix.coverage }}
- run: vendor/bin/phpunit --coverage-text --coverage-clover=coverage.clover
if: ${{ matrix.coverage }}
- run: php vendor/bin/ocular code-coverage:upload --format=php-clover coverage.clover
if: ${{ matrix.coverage }}
continue-on-error: true
phpstan:
name: PHPStan
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: shivammathur/setup-php@v2
with:
php-version: 7.4
extensions: curl, mbstring, yaml
coverage: none
tools: composer:v2
- run: composer update --no-progress
- run: vendor/bin/phpstan analyse --no-progress
psalm:
name: Psalm
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: shivammathur/setup-php@v2
with:
php-version: 7.4
extensions: curl, mbstring, yaml
coverage: none
tools: composer:v2
- run: composer update --no-progress
- run: vendor/bin/psalm --no-progress --stats --threads=$(nproc) --output-format=github --shepherd
docs-lint:
permissions:
contents: read # for actions/checkout to fetch code
statuses: write # for github/super-linter/slim to mark status of each linter run
name: Markdownlint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: github/super-linter/slim@v5.0.0
env:
DEFAULT_BRANCH: main
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
LINTER_RULES_PATH: '.' # From https://github.com/github/super-linter/pull/859#issuecomment-709625090
VALIDATE_MARKDOWN: true
MARKDOWN_CONFIG_FILE: docs/.markdownlint.yml
FILTER_REGEX_INCLUDE: '/docs/.*'