1+ name : PHPDrafter test
2+
3+ on :
4+ push :
5+ branches :
6+ - master
7+ pull_request :
8+ branches :
9+ - master
10+
11+ jobs :
12+ phpcs :
13+ runs-on : ubuntu-latest
14+ steps :
15+ - uses : actions/checkout@v1
16+ - name : PHP Code Scanner Scan
17+ uses : rtCamp/action-phpcs-code-review@master
18+ continue-on-error : true
19+ env :
20+ GH_BOT_TOKEN : ${{ secrets.GITHUB_TOKEN }}
21+ with :
22+ args : " PSR12"
23+ test :
24+ runs-on : ubuntu-latest
25+ name : PHP ${{ matrix.php-versions }}
26+ strategy :
27+ matrix :
28+ php-versions : ['7.2', '7.3', '7.4']
29+ steps :
30+ - name : Checkout
31+ uses : actions/checkout@v1
32+
33+ - name : Setup PHP
34+ uses : shivammathur/setup-php@v1
35+ with :
36+ php-version : ${{ matrix.php-versions }}
37+ extensions : curl,json,mbstring,uopz
38+ coverage : xdebug
39+ pecl : true
40+
41+ - name : Get Composer Cache Directory
42+ id : composer-cache
43+ run : echo "::set-output name=dir::$(composer config cache-files-dir)"
44+
45+ - name : Cache dependencies
46+ uses : actions/cache@v1
47+ with :
48+ path : ${{ steps.composer-cache.outputs.dir }}
49+ key : ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
50+ restore-keys : ${{ runner.os }}-composer-
51+
52+ - name : Validate composer.json and composer.lock
53+ run : composer validate
54+
55+ - name : Install dependencies
56+ run : composer install --prefer-dist --no-progress --no-suggest
57+
58+ - name : Run test suite
59+ run : composer run-script test
60+
61+ - name : Upload coverage result
62+ uses : actions/upload-artifact@v1
63+ with :
64+ name : coverage
65+ path : coverage.xml
66+
67+ analytics :
68+ name : Analytics
69+ needs : test
70+ runs-on : ubuntu-latest
71+ steps :
72+ - name : Code coverage Scan
73+ uses : codecov/codecov-action@v1
74+ with :
75+ token : ${{ secrets.CODECOV_TOKEN }}
0 commit comments