-
-
Notifications
You must be signed in to change notification settings - Fork 798
143 lines (138 loc) · 4.29 KB
/
ci.yaml
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
136
137
138
139
140
141
142
143
name: CI
on:
push:
pull_request:
jobs:
php-cs-fixer:
runs-on: ubuntu-latest
timeout-minutes: 20
strategy:
matrix:
php:
- '7.4'
fail-fast: false
env:
PHP_CS_FIXER_FUTURE_MODE: '1'
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: curl, openssl, mbstring
ini-values: memory_limit=-1
tools: pecl, composer, php-cs-fixer
- name: Run PHP-CS-Fixer fix
run: php-cs-fixer fix --dry-run --diff --ansi
phpstan:
runs-on: ubuntu-latest
timeout-minutes: 20
strategy:
matrix:
php:
- '7.4'
fail-fast: false
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: curl, openssl, mbstring
ini-values: memory_limit=-1
tools: composer
- name: Remove FOSUser
run: composer remove friendsofsymfony/user-bundle --no-update --no-interaction --dev
- name: Update project dependencies
run: composer update --no-interaction --no-progress --ansi
- name: Run phpstan
run: make phpstan
phpunit:
name: PHPUnit (PHP ${{ matrix.php }})
runs-on: ubuntu-latest
timeout-minutes: 20
strategy:
matrix:
php:
- '7.3'
- '7.4'
- '8.0'
fail-fast: false
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
tools: pecl, composer
extensions: intl, bcmath, curl, openssl, mbstring
ini-values: memory_limit=-1
- name: Get composer cache directory
id: composercache
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
- name: Cache dependencies
uses: actions/cache@v2
with:
path: ${{ steps.composercache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
restore-keys: ${{ runner.os }}-composer-
- name: Set Composer platform config
if: (startsWith(matrix.php, '8.0'))
run: |
composer config platform.php 7.4.99
- name: Remove FOSUser
run: composer remove friendsofsymfony/user-bundle --no-update --no-interaction --dev
- name: Update project dependencies
run: composer update --no-interaction --no-progress --ansi
- name: Run PHPUnit tests
run: |
mkdir -p build/logs/phpunit
vendor/bin/phpunit --log-junit build/logs/phpunit/junit.xml
- name: Upload test artifacts
if: always()
uses: actions/upload-artifact@v1
with:
name: phpunit-logs-php${{ matrix.php }}
path: build/logs/phpunit
continue-on-error: true
phpunit-lowest:
name: PHPUnit (PHP ${{ matrix.php }} lowest)
runs-on: ubuntu-latest
timeout-minutes: 20
strategy:
matrix:
php:
- '7.4'
fail-fast: false
env:
SYMFONY_DEPRECATIONS_HELPER: 'weak'
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
tools: pecl, composer
extensions: curl, openssl, mbstring
ini-values: memory_limit=-1
- name: Get composer cache directory
id: composercache
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
- name: Cache dependencies
uses: actions/cache@v2
with:
path: ${{ steps.composercache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
restore-keys: ${{ runner.os }}-composer-
- name: Remove FOSUser
run: composer remove friendsofsymfony/user-bundle --no-update --no-interaction --dev
- name: Update project dependencies
run: composer update --no-interaction --no-progress --ansi --prefer-lowest
- name: Install PHPUnit
run: vendor/bin/phpunit --version
- name: Run PHPUnit tests
run: vendor/bin/phpunit