3
3
push :
4
4
pull_request :
5
5
jobs :
6
+ generate-checks-strategy :
7
+ name : Generate Checks
8
+ runs-on : ubuntu-latest
9
+ outputs :
10
+ check : ${{ steps.generate-checks-strategy.outputs.check }}
11
+ steps :
12
+ - uses : actions/checkout@v1
13
+ - id : generate-checks-strategy
14
+ name : Generate check
15
+ run : |
16
+ printf "Checks found: %s\r\n" $(make task-list-ci)
17
+ printf "::set-output name=check::%s" $(make task-list-ci)
18
+ lint :
19
+ runs-on : ubuntu-latest
20
+ steps :
21
+ - name : Lint Code Base
22
+ uses : docker://github/super-linter:v2.2.0
6
23
composer-install :
7
24
strategy :
25
+ fail-fast : false
8
26
matrix :
9
27
php : [7.4]
10
28
composer : [lowest, current, highest]
29
+ needs : lint
11
30
runs-on : ubuntu-latest
12
31
container :
13
- image : wyrihaximusnet/php:${{ matrix.php }}-zts-alpine3.10 -dev-root
32
+ image : wyrihaximusnet/php:${{ matrix.php }}-zts-alpine3.12 -dev-root
14
33
steps :
15
34
- uses : actions/checkout@v1
16
35
- name : Cache composer packages
@@ -19,29 +38,44 @@ jobs:
19
38
path : ./vendor/
20
39
key : ${{ matrix.composer }}-${{ matrix.php }}-${{ hashFiles('**/composer.lock') }}
21
40
- name : Install Dependencies
22
- run : composer update --prefer-lowest --no-progress --ansi --no-interaction --prefer-dist
41
+ run : composer update --prefer-lowest --no-progress --ansi --no-interaction --prefer-dist -o
23
42
if : matrix.composer == 'lowest'
24
43
- name : Install Dependencies
25
- run : composer install --ansi --no-progress --no-interaction --prefer-dist
44
+ run : composer install --ansi --no-progress --no-interaction --prefer-dist -o
26
45
if : matrix.composer == 'current'
27
46
- name : Install Dependencies
28
- run : composer update --ansi --no-progress --no-interaction --prefer-dist
47
+ run : composer update --ansi --no-progress --no-interaction --prefer-dist -o
29
48
if : matrix.composer == 'highest'
30
49
qa :
31
50
strategy :
51
+ fail-fast : false
32
52
matrix :
33
53
php : [7.4]
34
54
composer : [lowest, current, highest]
35
- qa : [lint, cs, stan, psalm, unit-ci, infection, composer-require-checker, composer-unused]
36
- needs : composer-install
55
+ check : ${{ fromJson(needs.generate-checks-strategy.outputs.check) }}
56
+ needs :
57
+ - composer-install
58
+ - generate-checks-strategy
37
59
runs-on : ubuntu-latest
38
60
container :
39
- image : wyrihaximusnet/php:${{ matrix.php }}-zts-alpine3.10 -dev-root
61
+ image : wyrihaximusnet/php:${{ matrix.php }}-zts-alpine3.12 -dev-root
40
62
steps :
41
63
- uses : actions/checkout@v1
42
64
- name : Cache composer packages
43
65
uses : actions/cache@v1
44
66
with :
45
67
path : ./vendor/
46
68
key : ${{ matrix.composer }}-${{ matrix.php }}-${{ hashFiles('**/composer.lock') }}
47
- - run : make ${{ matrix.qa }}
69
+ - name : Install Dependencies
70
+ run : (test -f vendor && true ) || composer update --prefer-lowest --no-progress --ansi --no-interaction --prefer-dist -o
71
+ if : matrix.composer == 'lowest'
72
+ - name : Install Dependencies
73
+ run : (test -f vendor && true ) || composer install --ansi --no-progress --no-interaction --prefer-dist -o
74
+ if : matrix.composer == 'current'
75
+ - name : Install Dependencies
76
+ run : (test -f vendor && true ) || composer update --ansi --no-progress --no-interaction --prefer-dist -o
77
+ if : matrix.composer == 'highest'
78
+ - name : Fetch Tags
79
+ run : git fetch --depth=1 origin +refs/tags/*:refs/tags/* || true
80
+ if : matrix.check == 'backward-compatibility-check'
81
+ - run : make ${{ matrix.check }}
0 commit comments