Skip to content

Commit e438796

Browse files
committed
Update CI workflow
1 parent 02e888a commit e438796

File tree

1 file changed

+31
-33
lines changed

1 file changed

+31
-33
lines changed

.github/workflows/ci.yml

Lines changed: 31 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,47 @@
11
name: CI
2-
on: [ push, pull_request ]
2+
on: [push, pull_request]
33

44
jobs:
55
tests:
66
name: PHP ${{ matrix.php }} (${{ matrix.dependencies }} deps)
77

88
runs-on: ubuntu-latest
9+
timeout-minutes: 5
910
strategy:
1011
matrix:
11-
php: [ "7.4", "8.0", "8.1" ]
12-
dependencies: [ "lowest", "locked" ]
12+
php: ["7.4", "8.0", "8.1"]
13+
dependencies: ["lowest", "locked"]
1314
env:
1415
extensions: mbstring, pcov
1516
ini: pcov.directory=., "pcov.exclude=\"~(vendor|tests)~\""
1617

1718
steps:
1819
- name: Checkout
19-
uses: actions/checkout@f1d3225b5376a0791fdee5a0e8eac5289355e43a # pin@v2
20+
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # pin@v2
2021

2122
- name: Setup PHP cache environment
2223
id: ext-cache
23-
uses: shivammathur/cache-extensions@8828d749a642ae651470bd7713c2266c82cac102 # pin@v1
24+
uses: shivammathur/cache-extensions@2e789925e438042ecda2b83f0fd00bbc016da76e # pin@v1
2425
with:
2526
php-version: ${{ matrix.php }}
2627
extensions: ${{ env.extensions }}
2728
key: php-v1
2829

2930
- name: Cache PHP extensions
30-
uses: actions/cache@1c6fb82ebbd610035c324e764e5e74d0e82f8a60 # pin@v2
31+
uses: actions/cache@c64c572235d810460d0d6876e9c705ad5002b353 # pin@v2
3132
with:
3233
path: ${{ steps.ext-cache.outputs.dir }}
3334
key: ${{ steps.ext-cache.outputs.key }}
3435
restore-keys: ${{ steps.ext-cache.outputs.key }}
3536

3637
- name: Setup PHP environment
37-
uses: shivammathur/setup-php@ed52ff9a52991475b075a4c2144f7276195e8620 # pin@v2
38+
uses: shivammathur/setup-php@e2e76ea34f2059c0d66bf5c54ea75610185397f3 # pin@v2
3839
with:
3940
php-version: ${{ matrix.php }}
4041
extensions: ${{ env.extensions }}
4142
ini-values: ${{ env.ini }}
4243
coverage: pcov
43-
tools: phpunit:9.5.4, psalm:4.7.1
44+
tools: phpunit:9.5.10, psalm:4.11.2
4445

4546
- name: Setup problem matchers
4647
run: |
@@ -52,7 +53,7 @@ jobs:
5253
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
5354

5455
- name: Cache dependencies
55-
uses: actions/cache@1c6fb82ebbd610035c324e764e5e74d0e82f8a60 # pin@v2
56+
uses: actions/cache@c64c572235d810460d0d6876e9c705ad5002b353 # pin@v2
5657
with:
5758
path: ${{ steps.composerCache.outputs.dir }}
5859
key: ${{ runner.os }}-composer-${{ matrix.dependencies }}-${{ hashFiles('**/composer.lock') }}
@@ -66,7 +67,7 @@ jobs:
6667
6768
- name: Cache analysis data
6869
id: finishPrepare
69-
uses: actions/cache@1c6fb82ebbd610035c324e764e5e74d0e82f8a60 # pin@v2
70+
uses: actions/cache@c64c572235d810460d0d6876e9c705ad5002b353 # pin@v2
7071
with:
7172
path: ~/.cache/psalm
7273
key: backend-analysis-${{ matrix.php }}-v1
@@ -80,7 +81,7 @@ jobs:
8081
run: psalm --output-format=github --php-version=${{ matrix.php }}
8182

8283
- name: Upload coverage results to Codecov
83-
uses: codecov/codecov-action@a1ed4b322b4b38cb846afb5a0ebfa17086917d27 # pin@v1
84+
uses: codecov/codecov-action@f32b3a3741e1053eb607407145bc9619351dc93b # pin@v1
8485
with:
8586
file: ${{ github.workspace }}/clover.xml
8687
flags: backend
@@ -92,39 +93,40 @@ jobs:
9293
name: Analysis
9394

9495
runs-on: ubuntu-latest
96+
timeout-minutes: 5
9597
env:
9698
php: "8.0"
9799
extensions: mbstring
98100

99101
steps:
100102
- name: Checkout
101-
uses: actions/checkout@f1d3225b5376a0791fdee5a0e8eac5289355e43a # pin@v2
103+
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # pin@v2
102104

103105
- name: Setup PHP cache environment
104106
id: ext-cache
105-
uses: shivammathur/cache-extensions@8828d749a642ae651470bd7713c2266c82cac102 # pin@v1
107+
uses: shivammathur/cache-extensions@2e789925e438042ecda2b83f0fd00bbc016da76e # pin@v1
106108
with:
107109
php-version: ${{ env.php }}
108110
extensions: ${{ env.extensions }}
109-
key: php-analysis-v1
111+
key: php-v1
110112

111113
- name: Cache PHP extensions
112-
uses: actions/cache@1c6fb82ebbd610035c324e764e5e74d0e82f8a60 # pin@v2
114+
uses: actions/cache@c64c572235d810460d0d6876e9c705ad5002b353 # pin@v2
113115
with:
114116
path: ${{ steps.ext-cache.outputs.dir }}
115117
key: ${{ steps.ext-cache.outputs.key }}
116118
restore-keys: ${{ steps.ext-cache.outputs.key }}
117119

118120
- name: Setup PHP environment
119121
id: finishPrepare
120-
uses: shivammathur/setup-php@ed52ff9a52991475b075a4c2144f7276195e8620 # pin@v2
122+
uses: shivammathur/setup-php@e2e76ea34f2059c0d66bf5c54ea75610185397f3 # pin@v2
121123
with:
122124
php-version: ${{ env.php }}
123125
extensions: ${{ env.extensions }}
124126
coverage: none
125127
tools: |
126-
composer:2.0.13, composer-normalize:2.13.3, composer-require-checker:3.2.0,
127-
composer-unused:0.7.5, phpcpd:6.0.3, phpmd:2.10.0
128+
composer:2.1.10, composer-normalize:2.15.0, composer-require-checker:3.3.0,
129+
composer-unused:0.7.7, phpcpd:6.0.3, phpmd:2.10.2
128130
129131
- name: Validate composer.json/composer.lock
130132
if: always() && steps.finishPrepare.outcome == 'success'
@@ -142,7 +144,7 @@ jobs:
142144
- name: Cache dependencies
143145
id: composerCache2
144146
if: always() && steps.composerCache1.outcome == 'success'
145-
uses: actions/cache@1c6fb82ebbd610035c324e764e5e74d0e82f8a60 # pin@v2
147+
uses: actions/cache@c64c572235d810460d0d6876e9c705ad5002b353 # pin@v2
146148
with:
147149
path: ${{ steps.composerCache1.outputs.dir }}
148150
key: ${{ runner.os }}-composer-locked-${{ hashFiles('**/composer.lock') }}
@@ -173,33 +175,29 @@ jobs:
173175
name: Coding Style & Frontend Analysis
174176

175177
runs-on: ubuntu-latest
178+
timeout-minutes: 5
176179

177180
steps:
178181
- name: Checkout
179-
uses: actions/checkout@f1d3225b5376a0791fdee5a0e8eac5289355e43a # pin@v2
180-
181-
- name: Set up Node.js problem matchers
182-
uses: actions/setup-node@0696555e99b7a8260864ca027af4b004eea59379 # pin@v2
182+
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # pin@v2
183183

184-
- name: Cache npm dependencies
185-
uses: actions/cache@1c6fb82ebbd610035c324e764e5e74d0e82f8a60 # pin@v2
184+
- name: Set up Node.js problem matchers and cache npm dependencies
185+
uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 # pin@v2
186186
with:
187-
path: ~/.npm
188-
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
189-
restore-keys: ${{ runner.os }}-node-
187+
cache: 'npm'
190188

191189
- name: Install npm dependencies
192190
run: npm ci
193191

194192
- name: Setup PHP environment
195-
uses: shivammathur/setup-php@ed52ff9a52991475b075a4c2144f7276195e8620 # pin@v2
193+
uses: shivammathur/setup-php@e2e76ea34f2059c0d66bf5c54ea75610185397f3 # pin@v2
196194
with:
197195
coverage: none
198-
tools: php-cs-fixer:3.0.0
196+
tools: php-cs-fixer:3.2.1
199197

200198
- name: Cache analysis data
201199
id: finishPrepare
202-
uses: actions/cache@1c6fb82ebbd610035c324e764e5e74d0e82f8a60 # pin@v2
200+
uses: actions/cache@c64c572235d810460d0d6876e9c705ad5002b353 # pin@v2
203201
with:
204202
path: ~/.php-cs-fixer
205203
key: coding-style
@@ -215,7 +213,7 @@ jobs:
215213
if: >
216214
always() && steps.finishPrepare.outcome == 'success' &&
217215
github.event_name == 'pull_request'
218-
uses: reviewdog/action-suggester@5d5b9f8c693e036796f828e47886bd10d368c273 # pin@v1
216+
uses: reviewdog/action-suggester@1b18099af6c3c023256eb87a27aab5623e9b934d # pin@v1
219217
with:
220218
tool_name: ESLint
221219
fail_on_error: 'true'
@@ -233,7 +231,7 @@ jobs:
233231
if: >
234232
always() && steps.finishPrepare.outcome == 'success' &&
235233
github.event_name == 'pull_request'
236-
uses: reviewdog/action-suggester@5d5b9f8c693e036796f828e47886bd10d368c273 # pin@v1
234+
uses: reviewdog/action-suggester@1b18099af6c3c023256eb87a27aab5623e9b934d # pin@v1
237235
with:
238236
tool_name: PHP-CS-Fixer
239237
fail_on_error: 'true'

0 commit comments

Comments
 (0)