-
Notifications
You must be signed in to change notification settings - Fork 16
94 lines (77 loc) · 2.71 KB
/
phpcs.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
name: Moodle Coding Style Tests
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- php: 8.2
- php: 8.1
- php: 8.0
- php: 7.4
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Setup PHP ${{ matrix.php }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: ${{ matrix.extensions }}
ini-values: pcov.directory=moodle, error_reporting=-1, display_errors=On
coverage: pcov
tools: composer
- name: Install composer dependencies
run: |
composer install
- name: Run phplint
if: ${{ always() }}
run: |
./vendor/bin/phplint
- name: PHP Copy/Paste Detector
if: ${{ always() }}
run: ./vendor/bin/phpcpd --exclude moodle/Tests moodle
- name: Run phpunit
if: ${{ always() }}
run: |
./vendor/bin/phpunit --coverage-text
- name: Test coverage
run: ./vendor/bin/phpunit-coverage-check -t 80 clover.xml
- name: Integration tests
if: ${{ always() }}
run: |
# There is one failure (exit with error)
vendor/bin/phpcs --standard=moodle moodle/Tests/fixtures/integration_test_ci.php | tee output.txt || [[ $? = 1 ]]
grep -q "PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY" output.txt
# The failure is fixed (exit with error)
vendor/bin/phpcbf --standard=moodle moodle/Tests/fixtures/integration_test_ci.php | tee output.txt || [[ $? = 1 ]]
grep -q "A TOTAL OF 1 ERROR WERE FIXED IN 1 FILE" output.txt
# So, there isn't any failure any more (exit without error)
vendor/bin/phpcs --standard=moodle moodle/Tests/fixtures/integration_test_ci.php | tee output.txt && [[ $? = 0 ]]
coverage:
if: github.repository == 'moodlehq/moodle-cs'
name: Code coverage (codecov)
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Setup PHP 8.2
uses: shivammathur/setup-php@v2
with:
php-version: 8.2
ini-values: pcov.directory=moodle, error_reporting=-1, display_errors=On
coverage: pcov
tools: composer
- name: Install composer dependencies
run: |
composer install
- name: Run phpunit
if: ${{ always() }}
run: |
./vendor/bin/phpunit --coverage-clover clover.xml
- name: Upload coverage
uses: codecov/codecov-action@v3
with:
files: clover.xml
verbose: true