@@ -3,11 +3,12 @@ on: [push, pull_request]
3
3
4
4
jobs :
5
5
full-build :
6
+ name : " Coding standards & coverage tests"
6
7
runs-on : ${{ matrix.operating-system }}
7
8
strategy :
8
9
matrix :
9
- operating-system : [ubuntu-latest]
10
- php-versions : [" 7.4" ]
10
+ operating-system : [' ubuntu-latest' ]
11
+ php-versions : [' 7.4' ]
11
12
env :
12
13
extensions : pcov, dom, json, libxml, mbstring, pdo_sqlite, soap, xml, xmlwriter
13
14
key : cache-v2
@@ -36,23 +37,20 @@ jobs:
36
37
ini-values : assert.exception=1, zend.assertions=1
37
38
- name : " Validate composer.json"
38
39
run : composer validate
39
- - name : " Set composer cache directory"
40
- id : composer-cache-full-build
41
- run : echo "::set-output name=dir::$(composer config cache-files-dir)"
42
40
- name : " Setup composer cache"
43
41
uses : actions/cache@v2
44
42
with :
45
- path : ${{ steps .composer- cache-full-build.outputs.dir }}
46
- key : ${{ runner.os }}-composer-full- ${{ hashFiles('**/composer.json') }}
47
- restore-keys : ${{ runner.os }}-composer-full-
43
+ path : ~/ .composer/ cache
44
+ key : ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
45
+ restore-keys : ${{ runner.os }}-composer-
48
46
- name : " Install highest dependencies"
49
47
run : composer update --no-interaction --no-ansi --no-progress --no-suggest --prefer-stable
50
48
- name : " Coding standard Php-CS-Fixer checks"
51
49
run : vendor/bin/php-cs-fixer --dry-run -v --config=cs-fixer.php.dist --path-mode=intersection fix src tests
52
50
- name : " Coding standard CodeSniffer checks"
53
51
run : |
54
52
vendor/bin/phpcs --extensions=php --standard=vendor/polymorphine/dev/phpcs.xml src
55
- vendor/bin/phpcs --extensions=php --standard=vendor/polymorphine/dev/phpcs.xml tests
53
+ vendor/bin/phpcs --extensions=php --standard=vendor/polymorphine/dev/phpcs.xml --ignore=*/CodeSamples/* tests
56
54
- name : " Run PhpUnit tests with coverage"
57
55
run : |
58
56
mkdir -p build/logs
@@ -63,16 +61,19 @@ jobs:
63
61
COVERALLS_RUN_LOCALLY : 1
64
62
COVERALLS_REPO_TOKEN : ${{ secrets.COVERALLS_REPO_TOKEN }}
65
63
66
- lowest-build :
64
+ php-os-builds :
65
+ name : " PHP 8 tests"
67
66
runs-on : ${{ matrix.operating-system }}
68
67
strategy :
69
68
matrix :
70
- operating-system : [ubuntu-latest]
71
- php-versions : ["7.4" ]
69
+ operating-system : [' ubuntu-latest', 'windows-latest', 'macos-latest' ]
70
+ php-versions : ['8.0', '8.1' ]
72
71
env :
73
72
extensions : dom, json, libxml, mbstring, pdo_sqlite, soap, xml, xmlwriter
74
73
key : cache-v2
75
74
steps :
75
+ - name : " Turn off git EOL conversion"
76
+ run : git config --global core.autocrlf false
76
77
- name : " Checkout"
77
78
uses : actions/checkout@v2
78
79
- name : " Setup PHP extensions cache environment"
@@ -95,16 +96,13 @@ jobs:
95
96
coverage : none
96
97
extensions : ${{ env.extensions }}
97
98
ini-values : assert.exception=1, zend.assertions=1
98
- - name : " Set composer cache directory"
99
- id : composer-cache-lowest-build
100
- run : echo "::set-output name=dir::$(composer config cache-files-dir)"
101
99
- name : " Setup composer cache"
102
100
uses : actions/cache@v2
103
101
with :
104
- path : ${{ steps .composer- cache-lowest-build.outputs.dir }}
105
- key : ${{ runner.os }}-composer-low -${{ hashFiles('**/composer.json') }}
106
- restore-keys : ${{ runner.os }}-composer-low -
107
- - name : " Install lowest dependencies"
108
- run : composer update --no-interaction --no-ansi --no-progress --no-suggest --prefer-stable --prefer-lowest
102
+ path : ~/ .composer/ cache
103
+ key : ${{ runner.os }}-php${{ matrix.php-versions }}-composer -${{ hashFiles('**/composer.json') }}
104
+ restore-keys : ${{ runner.os }}-php${{ matrix.php-versions }}-composer -
105
+ - name : " Install highest dependencies"
106
+ run : composer update --no-interaction --no-ansi --no-progress --no-suggest --prefer-stable
109
107
- name : " Run PhpUnit tests (no coverage)"
110
108
run : vendor/bin/phpunit --no-coverage
0 commit comments