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+
55+ runs-on : ubuntu-latest
56+
57+ steps :
58+ - uses : actions/checkout@v2
59+
60+ - name : Validate composer.json and composer.lock
61+ run : composer validate
62+
63+ - name : Setup PHP ${{ matrix.php }}
64+ uses : shivammathur/setup-php@v2
65+ with :
66+ php-version : ${{ matrix.php }}
67+ coverage : xdebug
68+ ini-values : ${{ matrix.php_ini }}
69+
70+ - name : Install dependencies
71+ run : composer install ${{ matrix.composer_flags }}
72+ continue-on-error : ${{ matrix.allow_fail }}
73+
74+ - name : Update dependencies
75+ if : matrix.composer_update_flags
76+ run : composer update ${{ matrix.composer_update_flags }} && composer update phpunit/phpunit --with-dependencies
77+ continue-on-error : ${{ matrix.allow_fail }}
78+
79+ - name : Create log folder
80+ run : mkdir -p build/logs;
81+
82+ - name : Run unit tests
83+ run : composer unit-tests
84+ continue-on-error : ${{ matrix.allow_fail }}
85+
86+ - name : Upload test coverage
87+ run : php vendor/bin/php-coveralls -vvv
88+ env :
89+ COVERALLS_REPO_TOKEN : ${{ secrets.GITHUB_TOKEN }}
90+ COVERALLS_PARALLEL : true
91+ COVERALLS_FLAG_NAME : ${{ matrix.name }}
92+ continue-on-error : ${{ matrix.allow_fail }}
93+
94+ finish :
95+ needs : build
96+ runs-on : ubuntu-latest
97+ steps :
98+ - name : Coveralls Finished
99+ run : |
100+ curl --header "Content-Type: application/json" \
101+ --request POST \
102+ --data '{"repo_token":"${{ secrets.GITHUB_TOKEN }}","repo_name":"JsonMapper/LaravelPackage", "payload": {"build_num": "${{ github.sha }}", "status": "done"}}' \
103+ https://coveralls.io/webhook
0 commit comments