Skip to content

Commit 83e6dd2

Browse files
committed
Improve CI config
1 parent 53e4aab commit 83e6dd2

File tree

2 files changed

+41
-31
lines changed

2 files changed

+41
-31
lines changed

.editorconfig

+3
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,6 @@ trim_trailing_whitespace = true
1010

1111
[Makefile]
1212
indent_style = tab
13+
14+
[*.yml]
15+
indent_size = 2

.github/workflows/continuous-integration.yml

+38-31
Original file line numberDiff line numberDiff line change
@@ -23,22 +23,24 @@ jobs:
2323
tools: composer:v2
2424

2525
- name: "Validate composer.json"
26-
run: php $(which composer) validate --strict
26+
run: composer validate --strict
27+
28+
- name: "Determine Composer cache directory"
29+
id: composer-cache
30+
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
2731

2832
- name: "Cache dependencies"
29-
uses: actions/cache@v1
30-
id: cache
33+
uses: actions/cache@v2
3134
with:
32-
path: ~/.composer/cache/files
35+
path: ${{ steps.composer-cache.outputs.dir }}
3336
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
34-
restore-keys: |
35-
${{ runner.os }}-composer-
37+
restore-keys: ${{ runner.os }}-composer-
3638

3739
- name: "Install dependencies with composer"
38-
run: php $(which composer) install --no-interaction --no-progress --no-suggest
40+
run: composer install --no-interaction --no-progress
3941

4042
- name: "Run PHP CodeSniffer"
41-
run: php vendor/bin/phpcs --standard=phpcs.xml
43+
run: vendor/bin/phpcs
4244

4345
static-code-analysis:
4446
name: "Static Code Analysis"
@@ -57,20 +59,22 @@ jobs:
5759
coverage: none
5860
tools: composer:v2
5961

62+
- name: "Determine Composer cache directory"
63+
id: composer-cache
64+
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
65+
6066
- name: "Cache dependencies"
61-
uses: actions/cache@v1
62-
id: cache
67+
uses: actions/cache@v2
6368
with:
64-
path: ~/.composer/cache/files
69+
path: ${{ steps.composer-cache.outputs.dir }}
6570
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
66-
restore-keys: |
67-
${{ runner.os }}-composer-
71+
restore-keys: ${{ runner.os }}-composer-
6872

6973
- name: "Install dependencies with composer"
70-
run: php $(which composer) install --no-interaction --no-progress --no-suggest --no-plugins
74+
run: composer install --no-interaction --no-progress --no-plugins
7175

7276
- name: "Run phpstan/phpstan"
73-
run: php vendor/bin/phpstan analyse --level 8 src
77+
run: vendor/bin/phpstan analyse --level 8 src/
7478

7579
tests:
7680
name: "Tests"
@@ -81,7 +85,6 @@ jobs:
8185
matrix:
8286
php-versions:
8387
- "8.0"
84-
- "8.1"
8588

8689
dependencies:
8790
- lowest
@@ -98,25 +101,27 @@ jobs:
98101
extensions: mbstring, xml
99102
tools: composer:v2
100103

104+
- name: "Determine Composer cache directory"
105+
id: composer-cache
106+
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
107+
101108
- name: "Cache dependencies"
102-
uses: actions/cache@v1
103-
id: cache
109+
uses: actions/cache@v2
104110
with:
105-
path: ~/.composer/cache/files
111+
path: ${{ steps.composer-cache.outputs.dir }}
106112
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
107-
restore-keys: |
108-
${{ runner.os }}-composer-
113+
restore-keys: ${{ runner.os }}-composer-
109114

110115
- name: "Install lowest dependencies with composer"
111116
if: matrix.dependencies == 'lowest'
112-
run: php $(which composer) update --no-interaction --no-progress --no-suggest --no-plugins --prefer-lowest --ignore-platform-reqs
117+
run: composer update --no-interaction --no-progress --no-plugins --prefer-lowest
113118

114119
- name: "Install highest dependencies with composer"
115120
if: matrix.dependencies == 'highest'
116-
run: php $(which composer) update --no-interaction --no-progress --no-suggest --no-plugins --ignore-platform-reqs
121+
run: composer update --no-interaction --no-progress --no-plugins
117122

118123
- name: "Run unit tests"
119-
run: php vendor/bin/phpunit
124+
run: vendor/bin/phpunit --verbose
120125

121126
code-coverage:
122127
name: "Code Coverage"
@@ -135,20 +140,22 @@ jobs:
135140
coverage: xdebug:v3
136141
tools: composer:v2
137142

143+
- name: "Determine Composer cache directory"
144+
id: composer-cache
145+
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
146+
138147
- name: "Cache dependencies"
139-
uses: actions/cache@v1
140-
id: cache
148+
uses: actions/cache@v2
141149
with:
142-
path: ~/.composer/cache/files
150+
path: ${{ steps.composer-cache.outputs.dir }}
143151
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
144-
restore-keys: |
145-
${{ runner.os }}-composer-
152+
restore-keys: ${{ runner.os }}-composer-
146153

147154
- name: "Install dependencies with composer"
148-
run: php $(which composer) install --no-interaction --no-progress --no-suggest --no-plugins
155+
run: composer install --no-interaction --no-progress --no-plugins
149156

150157
- name: "Collect code coverage with Xdebug and phpunit/phpunit"
151-
run: php vendor/bin/phpunit --coverage-clover=build/logs/clover.xml
158+
run: vendor/bin/phpunit --coverage-clover=build/logs/clover.xml
152159

153160
- name: "Download code coverage uploader for Codecov.io"
154161
run: curl -s https://codecov.io/bash -o codecov

0 commit comments

Comments
 (0)