1+ on : push
2+ name : CI
3+
4+ jobs :
5+ pest :
6+ runs-on : ubuntu-24.04
7+ timeout-minutes : 5
8+
9+ strategy :
10+ fail-fast : true
11+ matrix :
12+ php : [ 8.1, 8.2, 8.3, 8.4 ]
13+ laravel : [ 10.*, 11.*, 12.* ]
14+ include :
15+ - php : 8.1
16+ laravel : 10.*
17+ pest : 2.*
18+ testbench : 8.*
19+ - php : 8.2
20+ laravel : 10.*
21+ pest : 2.*
22+ testbench : 8.*
23+ - php : 8.3
24+ laravel : 10.*
25+ pest : 2.*
26+ testbench : 8.*
27+ - php : 8.4
28+ laravel : 10.*
29+ pest : 2.*
30+ testbench : 8.*
31+ - php : 8.2
32+ laravel : 11.*
33+ pest : 3.*
34+ testbench : 9.*
35+ - php : 8.3
36+ laravel : 11.*
37+ pest : 3.*
38+ testbench : 9.*
39+ - php : 8.4
40+ laravel : 11.*
41+ pest : 3.*
42+ testbench : 9.*
43+ - php : 8.2
44+ laravel : 12.*
45+ pest : 3.*
46+ testbench : 10.*
47+ - php : 8.3
48+ laravel : 12.*
49+ pest : 3.*
50+ testbench : 10.*
51+ - php : 8.4
52+ laravel : 12.*
53+ pest : 3.*
54+ testbench : 10.*
55+ exclude :
56+ - php : 8.1
57+ laravel : 11.*
58+ - php : 8.1
59+ laravel : 12.*
60+
61+ name : Mail Intercept Tests - PHP ${{ matrix.php }} - Laravel ${{ matrix.laravel }}
62+
63+ steps :
64+ - name : Checkout code
65+ uses : actions/checkout@v4
66+
67+ - name : Cache dependencies
68+ uses : actions/cache@v4
69+ with :
70+ path : ~/.composer/cache/files
71+ key : dependencies-${{ matrix.laravel }}-php-${{ matrix.php }}-composer-${{ hashFiles('composer.json') }}
72+
73+ - name : Setup PHP
74+ uses : shivammathur/setup-php@v2
75+ with :
76+ php-version : ${{ matrix.php }}
77+ extensions : curl, mbstring, zip, pcntl, iconv
78+ coverage : none
79+ tools : composer:v2
80+
81+ - name : Install dependencies
82+ run : |
83+ composer require "laravel/framework:${{ matrix.laravel }}" --no-interaction --no-update
84+ composer require "orchestra/testbench:${{ matrix.testbench }}" --no-interaction --no-update
85+ composer require "pestphp/pest:${{ matrix.pest }}" "pestphp/pest-plugin-laravel:${{ matrix.pest }}" "pestphp/pest-plugin-type-coverage:${{ matrix.pest }}" --no-interaction --no-update
86+ composer update --prefer-dist --no-interaction
87+ composer dump
88+
89+ - name : Execute tests
90+ run : composer pest
91+
92+ pint :
93+ runs-on : ubuntu-24.04
94+ timeout-minutes : 5
95+
96+ name : Pint Style Check
97+ steps :
98+ - name : Checkout code
99+ uses : actions/checkout@v4
100+
101+ - name : Cache dependencies
102+ uses : actions/cache@v4
103+ with :
104+ path : ~/.composer/cache/files
105+ key : dependencies-composer-${{ hashFiles('composer.json') }}
106+
107+ - name : Setup PHP
108+ uses : shivammathur/setup-php@v2
109+ with :
110+ php-version : 8.3
111+ tools : composer:v2
112+
113+ - name : Install dependencies
114+ run : |
115+ composer install --no-interaction
116+ composer dump
117+
118+ - name : Execute Pint
119+ run : composer pint-check
0 commit comments