forked from PHPOffice/PHPWord
-
Notifications
You must be signed in to change notification settings - Fork 0
132 lines (110 loc) · 4.22 KB
/
php.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
name: PHPWord
on: [push, pull_request]
jobs:
php-cs-fixer:
name: PHP CS Fixer
runs-on: ubuntu-latest
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
extensions: mbstring, intl, gd, xml, dom, json, fileinfo, curl, zip, iconv
- uses: actions/checkout@v2
- name: Validate composer config
run: composer validate --strict
- name: Composer Install
run: composer global require friendsofphp/php-cs-fixer
- name: Add environment path
run: export PATH="$PATH:$HOME/.composer/vendor/bin"
- name: Run PHPCSFixer
run: php-cs-fixer fix --dry-run --diff
phpmd:
name: PHP Mess Detector
runs-on: ubuntu-latest
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
extensions: gd, xml, zip
- uses: actions/checkout@v2
- name: Composer Install
run: composer install --ansi --prefer-dist --no-interaction --no-progress
- name: Run phpmd
run: ./vendor/bin/phpmd src/,tests/ text ./phpmd.xml.dist --exclude "src/PhpWord/Shared/PCLZip/*"
phpstan:
name: PHP Static Analysis
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
# Disabled PHPStan in '7.1'
php: ['7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4']
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: gd, xml, zip
- uses: actions/checkout@v2
- name: Composer Install
run: composer install --ansi --prefer-dist --no-interaction --no-progress
- name: Run phpstan
run: ./vendor/bin/phpstan analyse -c phpstan.neon.dist
phpunit:
name: PHPUnit ${{ matrix.php }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php: ['7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4']
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: gd, xml, zip
coverage: ${{ (matrix.php == '7.3') && 'xdebug' || 'none' }}
- uses: actions/checkout@v2
- name: Composer Install
run: composer install --ansi --prefer-dist --no-interaction --no-progress
- name: Run phpunit 7.1 7.2
if: matrix.php == '7.1' || matrix.php == '7.2'
run: ./vendor/bin/phpunit -c phpunit.7.8.xml.dist --no-coverage
- name: Run phpunit 7.4 8.0
if: matrix.php == '7.4' || matrix.php == '8.0'
run: ./vendor/bin/phpunit -c phpunit.xml.dist --no-coverage
- name: Run phpunit 8.1 8.2 8.3 8.4
if: matrix.php == '8.1' || matrix.php == '8.2' || matrix.php == '8.3' || matrix.php == '8.4'
run: ./vendor/bin/phpunit -c phpunit10.xml.dist --no-coverage
- name: Run phpunit 7.3
if: matrix.php == '7.3'
run: ./vendor/bin/phpunit -c phpunit.xml.dist --coverage-clover build/clover.xml
- name: Upload coverage results to Coveralls
if: matrix.php == '7.3'
env:
COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
wget https://github.com/php-coveralls/php-coveralls/releases/download/v2.4.3/php-coveralls.phar
chmod +x php-coveralls.phar
php php-coveralls.phar --coverage_clover=build/clover.xml --json_path=build/coveralls-upload.json -vvv
samples:
name: Check samples
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php: ['7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4']
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: gd, xml, zip
coverage: xdebug
- uses: actions/checkout@v2
- name: Composer Install
run: composer install --ansi --prefer-dist --no-interaction --no-progress
- name: Generate samples files
run: composer run samples