1+ name : Build 
2+ 
3+ on :
4+   push :
5+     branches : [ develop, master ] 
6+   pull_request :
7+     branches : [ develop, master ] 
8+ 
9+ jobs :
10+   build :
11+     name : PHP ${{ matrix.name }} 
12+     strategy :
13+       matrix :
14+         include :
15+           - php : 7.2 
16+             allow_fail : false 
17+             name : ' PHP 7.2 with latest deps' 
18+           - php : 7.2 
19+             allow_fail : false 
20+             composer_update_flags : ' --prefer-lowest --prefer-stable' 
21+             name : ' PHP 7.2 with lowest stable deps' 
22+           - php : 7.3 
23+             allow_fail : false 
24+             name : ' PHP 7.3 with latest deps' 
25+           - php : 7.3 
26+             allow_fail : false 
27+             composer_update_flags : ' --prefer-lowest --prefer-stable' 
28+             name : ' PHP 7.3 with lowest stable deps' 
29+           - php : 7.4 
30+             allow_fail : false 
31+             name : ' PHP 7.4 with latest deps' 
32+           - php : 7.4 
33+             allow_fail : false 
34+             composer_update_flags : ' --prefer-lowest --prefer-stable' 
35+             name : ' PHP 7.4 with lowest stable deps' 
36+           - php : 8.0 
37+             allow_fail : false 
38+             php_ini : ' xdebug.coverage_enable=On' 
39+             name : ' PHP 8.0 with latest deps' 
40+           - php : 8.0 
41+             allow_fail : false 
42+             composer_update_flags : ' --prefer-lowest --prefer-stable' 
43+             php_ini : ' xdebug.coverage_enable=On' 
44+             name : ' PHP 8.0 with lowest stable deps' 
45+           - php : 8.1 
46+             allow_fail : true 
47+             php_ini : ' xdebug.coverage_enable=On' 
48+             name : ' PHP 8.1 with latest deps' 
49+           - php : 8.1 
50+             allow_fail : true 
51+             composer_update_flags : ' --prefer-lowest --prefer-stable' 
52+             php_ini : ' xdebug.coverage_enable=On' 
53+             name : ' PHP 8.1 with lowest stable deps' 
54+           - php : 8.2 
55+             allow_fail : true 
56+             php_ini : ' xdebug.coverage_enable=On' 
57+             name : ' PHP 8.2 with latest deps' 
58+           - php : 8.2 
59+             allow_fail : true 
60+             composer_update_flags : ' --prefer-lowest --prefer-stable' 
61+             php_ini : ' xdebug.coverage_enable=On' 
62+             name : ' PHP 8.2 with lowest stable deps' 
63+           - php : 8.3 
64+             allow_fail : true 
65+             php_ini : ' xdebug.coverage_enable=On' 
66+             name : ' PHP 8.3 with latest deps' 
67+           - php : 8.3 
68+             allow_fail : true 
69+             composer_update_flags : ' --prefer-lowest --prefer-stable' 
70+             php_ini : ' xdebug.coverage_enable=On' 
71+             name : ' PHP 8.3 with lowest stable deps' 
72+           - php : 8.4 
73+             allow_fail : true 
74+             php_ini : ' xdebug.coverage_enable=On' 
75+             name : ' PHP 8.4 with latest deps' 
76+           - php : 8.4 
77+             allow_fail : true 
78+             composer_update_flags : ' --prefer-lowest --prefer-stable' 
79+             php_ini : ' xdebug.coverage_enable=On' 
80+             name : ' PHP 8.4 with lowest stable deps' 
81+ 
82+     runs-on : ubuntu-latest 
83+ 
84+     steps :
85+       - uses : actions/checkout@v4 
86+ 
87+       - name : Validate composer.json and composer.lock 
88+         run : composer validate 
89+ 
90+       - name : Setup PHP ${{ matrix.php }} 
91+         uses : shivammathur/setup-php@v2 
92+         with :
93+           php-version : ${{ matrix.php }} 
94+           coverage : xdebug 
95+           ini-values : ${{ matrix.php_ini }} 
96+ 
97+       - name : Install dependencies 
98+         run : composer install ${{ matrix.composer_flags }} 
99+         continue-on-error : ${{ matrix.allow_fail }} 
100+ 
101+       - name : Update dependencies 
102+         if : matrix.composer_update_flags 
103+         run : composer update ${{ matrix.composer_update_flags }} && composer update phpunit/phpunit guzzlehttp/guzzle --with-dependencies 
104+         continue-on-error : ${{ matrix.allow_fail }} 
105+ 
106+       - name : Create log folder 
107+         run : mkdir -p build/logs; 
108+ 
109+       - name : Run unit tests 
110+         run : composer unit-tests 
111+         continue-on-error : ${{ matrix.allow_fail }} 
112+ 
113+       - name : Upload test coverage 
114+         run : php vendor/bin/php-coveralls -vvv 
115+         env :
116+           COVERALLS_REPO_TOKEN : ${{ secrets.GITHUB_TOKEN }} 
117+           COVERALLS_PARALLEL : true 
118+           COVERALLS_FLAG_NAME : ${{ matrix.name }} 
119+         continue-on-error : ${{ matrix.allow_fail }} 
120+ 
121+   finish :
122+     needs : build 
123+     runs-on : ubuntu-latest 
124+     steps :
125+       - name : Coveralls Finished 
126+         run : | 
127+           curl --header "Content-Type: application/json" \ 
128+             --request POST \ 
129+             --data '{"repo_token":"${{ secrets.GITHUB_TOKEN }}","repo_name":"JsonMapper/LaravelPackage", "payload": {"build_num": "${{ github.sha }}", "status": "done"}}' \ 
130+             https://coveralls.io/webhook 
0 commit comments