@@ -2,8 +2,8 @@ name: build
22on : [push, pull_request]
33
44jobs :
5- full-build :
6- name : " Coding standards & coverage tests "
5+ quality-check :
6+ name : " Coding standards & test coverage "
77 runs-on : ${{ matrix.operating-system }}
88 strategy :
99 matrix :
@@ -35,16 +35,12 @@ jobs:
3535 coverage : pcov
3636 extensions : ${{ env.extensions }}
3737 ini-values : assert.exception=1, zend.assertions=1
38- - name : " Validate composer.json"
39- run : composer validate
40- - name : " Setup composer cache"
41- uses : actions/cache@v3
38+ - name : " Install Composer dependencies"
39+ uses : ramsey/composer-install@v2
4240 with :
43- path : ~/.composer/cache
44- key : ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
45- restore-keys : ${{ runner.os }}-composer-
46- - name : " Install highest dependencies"
47- run : composer update --no-interaction --no-ansi --no-progress --no-suggest --prefer-stable
41+ dependency-versions : highest
42+ composer-options : --prefer-stable
43+ custom-cache-key : composer-${{ runner.os }}-php${{ matrix.php-versions }}-${{ hashFiles('**/composer.json') }}
4844 - name : " Coding standard Php-CS-Fixer checks"
4945 run : vendor/bin/php-cs-fixer --dry-run -v --config=cs-fixer.php.dist --path-mode=intersection fix src tests
5046 - name : " Coding standard CodeSniffer checks"
@@ -55,21 +51,22 @@ jobs:
5551 run : php polymorphine-skeleton check
5652 - name : " Run PhpUnit tests with coverage"
5753 run : |
58- mkdir -p build /logs
59- vendor/bin/phpunit --exclude-group integrated -- coverage-clover build /logs/clover.xml
54+ mkdir -p .dev /logs
55+ vendor/bin/phpunit --coverage-clover .dev /logs/clover.xml
6056 - name : " Send coverage report to coveralls.io"
61- run : vendor/bin/php-coveralls -v
57+ run : |
58+ composer require php-coveralls/php-coveralls
59+ vendor/bin/php-coveralls -v -o .dev/logs/coveralls-upload.json -x .dev/logs/clover.xml
6260 env :
63- COVERALLS_RUN_LOCALLY : 1
6461 COVERALLS_REPO_TOKEN : ${{ secrets.COVERALLS_REPO_TOKEN }}
6562
66- php-os-builds :
67- name : " PHP 8 tests "
63+ platform-compatibility :
64+ name : " Operating systems "
6865 runs-on : ${{ matrix.operating-system }}
6966 strategy :
7067 matrix :
7168 operating-system : ['ubuntu-latest', 'windows-latest', 'macos-latest']
72- php-versions : ['8.0', '8.1', '8. 2']
69+ php-versions : ['8.2']
7370 env :
7471 extensions : dom, json, libxml, mbstring, pdo_sqlite, soap, xml, xmlwriter
7572 key : cache-v3
@@ -98,13 +95,53 @@ jobs:
9895 coverage : none
9996 extensions : ${{ env.extensions }}
10097 ini-values : assert.exception=1, zend.assertions=1
101- - name : " Setup composer cache"
98+ - name : " Install Composer dependencies"
99+ uses : ramsey/composer-install@v2
100+ with :
101+ dependency-versions : highest
102+ composer-options : --prefer-stable
103+ custom-cache-key : composer-${{ runner.os }}-php${{ matrix.php-versions }}-${{ hashFiles('**/composer.json') }}
104+ - name : " Run PhpUnit tests (no coverage)"
105+ run : vendor/bin/phpunit --no-coverage
106+
107+ php-versions :
108+ name : " PHP versions"
109+ runs-on : ${{ matrix.operating-system }}
110+ strategy :
111+ matrix :
112+ operating-system : ['ubuntu-latest']
113+ php-versions : ['8.0', '8.1', '8.2']
114+ env :
115+ extensions : dom, json, libxml, mbstring, pdo_sqlite, soap, xml, xmlwriter
116+ key : cache-v3
117+ steps :
118+ - name : " Checkout"
119+ uses : actions/checkout@v3
120+ - name : " Setup PHP extensions cache environment"
121+ id : cache-env
122+ uses : shivammathur/cache-extensions@v1
123+ with :
124+ php-version : ${{ matrix.php-versions }}
125+ extensions : ${{ env.extensions }}
126+ key : ${{ env.key }}
127+ - name : " Cache PHP extensions"
102128 uses : actions/cache@v3
103129 with :
104- path : ~/.composer/cache
105- key : ${{ runner.os }}-php${{ matrix.php-versions }}-composer-${{ hashFiles('**/composer.json') }}
106- restore-keys : ${{ runner.os }}-php${{ matrix.php-versions }}-composer-
107- - name : " Install highest dependencies"
108- run : composer update --no-interaction --no-ansi --no-progress --no-suggest --prefer-stable
130+ path : ${{ steps.cache-env.outputs.dir }}
131+ key : ${{ steps.cache-env.outputs.key }}
132+ restore-keys : ${{ steps.cache-env.outputs.key }}
133+ - name : " Install PHP with extensions"
134+ uses : shivammathur/setup-php@v2
135+ with :
136+ php-version : ${{ matrix.php-versions }}
137+ coverage : none
138+ extensions : ${{ env.extensions }}
139+ ini-values : assert.exception=1, zend.assertions=1
140+ - name : " Install Composer dependencies"
141+ uses : ramsey/composer-install@v2
142+ with :
143+ dependency-versions : highest
144+ composer-options : --prefer-stable
145+ custom-cache-key : composer-${{ runner.os }}-php${{ matrix.php-versions }}-${{ hashFiles('**/composer.json') }}
109146 - name : " Run PhpUnit tests (no coverage)"
110- run : vendor/bin/phpunit --exclude-group integrated -- no-coverage
147+ run : vendor/bin/phpunit --no-coverage
0 commit comments