14
14
- name : Checkout code
15
15
uses : actions/checkout@v3
16
16
17
- - name : Setup PHP
18
- uses : shivammathur/setup-php@v2
19
- with :
20
- php-version : ' 8.1'
21
- coverage : pcov
22
-
23
17
- name : Get composer cache directory
24
18
id : composer-cache
25
19
run : echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
@@ -31,15 +25,20 @@ jobs:
31
25
key : ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
32
26
restore-keys : ${{ runner.os }}-composer-
33
27
28
+ - name : Setup PHP
29
+ uses : shivammathur/setup-php@v2
30
+ with :
31
+ php-version : ' 8.1'
32
+ coverage : pcov
33
+
34
34
- name : Install dependencies
35
- run : |
36
- composer update --no-interaction --verbose
35
+ run : composer update
37
36
38
37
- name : Check platform requirements
39
- run : composer check-platform-reqs --verbose
38
+ run : composer check-platform-reqs
40
39
41
40
- name : PHP-CS-Fixer
42
- run : composer fix -- --dry-run --verbose
41
+ run : composer fix -- --dry-run
43
42
44
43
# - name: composer normalize
45
44
# run: composer normalize --dry-run --no-interaction --verbose
@@ -67,74 +66,60 @@ jobs:
67
66
68
67
tests :
69
68
runs-on : ubuntu-latest
70
- name : ' PHP: ${{ matrix.php }}; Lara : ${{ matrix.laravel }}; Deps : ${{ matrix.dependency-version }}'
69
+ name : ' PHP: ${{ matrix.php }}; Laravel : ${{ matrix.laravel }}; Prefer : ${{ matrix.prefer }}'
71
70
strategy :
72
71
matrix :
73
- php : ['8.0', '8. 1', '8.2']
74
- laravel : ['^8.73.2', '^ 9.0', '10.x-dev ']
75
- dependency-version : ['prefer-lowest', 'prefer-stable']
72
+ php : ['8.1', '8.2']
73
+ laravel : ['^9.0', '^ 10.0 ']
74
+ prefer : ['prefer-lowest', 'prefer-stable']
76
75
include :
77
- - testbench : ' ^6.0'
78
- laravel : ' ^8.73.2'
79
76
- testbench : ' ^7.0'
80
77
laravel : ' ^9.0'
81
- - testbench : ' 8.x-dev'
82
- laravel : ' 10.x-dev'
83
- exclude :
84
- - php : ' 8.0'
85
- laravel : ' 10.x-dev'
78
+ - testbench : ' ^8.0'
79
+ laravel : ' ^10.0'
86
80
87
81
steps :
88
82
- name : checkout code
89
83
uses : actions/checkout@v3
90
84
91
- - name : Setup PHP
92
- uses : shivammathur/setup-php@v2
93
- with :
94
- php-version : ${{ matrix.php }}
95
- coverage : none
96
-
97
85
- name : Get composer cache directory
98
86
id : composer-cache
99
87
run : echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
100
88
101
89
- name : Cache dependencies
102
90
uses : actions/cache@v3
103
91
with :
104
- path : ${{ steps.composer-cache.outputs.dir }}
105
- key : ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
106
- restore-keys : ${{ runner.os }}-composer-
92
+ path : ${{ steps.composer-cache.outputs.dir }}
93
+ key : ${{ runner.os }}-php-${{ matrix.php }}-laravel-${{ matrix.laravel }}-prefer-${{ matrix.prefer }}-composer-${{ hashFiles('**/composer.json') }}
94
+ restore-keys : ${{ runner.os }}-php-${{ matrix.php }}-laravel-{{ matrix.laravel }}-prefer-${{ matrix.prefer}}-composer-
95
+
96
+ - name : Setup PHP
97
+ uses : shivammathur/setup-php@v2
98
+ with :
99
+ php-version : ${{ matrix.php }}
100
+ coverage : none
107
101
108
102
- name : Remove dev packages
109
103
run : |
110
- composer remove --dev --no-update --no-interaction --verbose \
104
+ composer remove --dev --no-update \
111
105
friendsofphp/php-cs-fixer \
112
106
infection/infection \
113
107
nunomaduro/larastan \
114
108
phpstan/phpstan-strict-rules
115
109
116
110
- name : Require Laravel and Testbench version
117
- run : composer require laravel/framework:"${{ matrix.laravel }}" illuminate/collections:"${{ matrix.laravel }}" illuminate/database:"${{ matrix.laravel }}" illuminate/http:"${{ matrix.laravel }}" illuminate/support:"${{ matrix.laravel }}" orchestra/testbench:"${{ matrix.testbench }}" --no-update --no-interaction --verbose --with-all-dependencies
118
-
119
- - name : Support prefer-lowest in PHP 8.0
120
- if : ${{ matrix.php == 8.0 && matrix.dependency-version == 'prefer-lowest' }}
121
- run : composer require --no-update \
122
- mockery/mockery:"^1.3.3"
111
+ run : composer require --no-update laravel/framework:"${{ matrix.laravel }}" illuminate/collections:"${{ matrix.laravel }}" illuminate/database:"${{ matrix.laravel }}" illuminate/http:"${{ matrix.laravel }}" illuminate/support:"${{ matrix.laravel }}" orchestra/testbench:"${{ matrix.testbench }}"
123
112
124
113
- name : Support prefer-lowest in PHP 8.1
125
- if : ${{ matrix.php == 8.1 && matrix.dependency-version == 'prefer-lowest' }}
126
- run : composer require --no-update \
127
- nesbot/carbon:"^2.62.1" \
128
- symfony/http-foundation:"^5.3.7 || ^6.0"
114
+ if : ${{ matrix.php == 8.1 && matrix.prefer == 'prefer-lowest' }}
115
+ run : composer require --no-update nesbot/carbon:"^2.62.1"
129
116
130
117
- name : Support prefer-lowest in PHP 8.2
131
- if : ${{ matrix.php == 8.2 && matrix.dependency-version == 'prefer-lowest' }}
132
- run : composer require --no-update \
133
- nesbot/carbon:"^2.62.1" \
134
- symfony/http-foundation:"^5.3.7 || ^6.0"
118
+ if : ${{ matrix.php == 8.2 && matrix.prefer == 'prefer-lowest' }}
119
+ run : composer require --no-update nesbot/carbon:"^2.62.1"
135
120
136
121
- name : Install dependencies
137
- run : composer update --${{ matrix.dependency-version }} --no-interaction --verbose
122
+ run : composer update --${{ matrix.prefer }}
138
123
139
124
- name : Check platform requirements
140
125
run : composer check-platform-reqs --verbose
0 commit comments