Skip to content

Commit be44408

Browse files
committed
👷 Update CI workflow
1 parent 7ee95a5 commit be44408

1 file changed

Lines changed: 42 additions & 36 deletions

File tree

.github/workflows/ci.yml

Lines changed: 42 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,55 @@
11
name: CI
22

3+
permissions:
4+
contents: read
5+
36
on: ['push', 'pull_request']
47

58
jobs:
69
ci:
710
runs-on: ${{ matrix.os }}
11+
continue-on-error: ${{ matrix.experimental }}
812
strategy:
913
fail-fast: true
1014
matrix:
11-
os: [ubuntu-latest, macos-latest]
15+
os: [ubuntu-latest]
1216
php: [8.2, 8.3, 8.4]
13-
dependency-version: [prefer-lowest, prefer-stable]
14-
15-
name: Tests PHP${{ matrix.php }} - ${{ matrix.os }} - ${{ matrix.dependency-version }}
17+
dependencies: [lowest, highest]
18+
experimental: [false]
19+
name: 🧪 Test PHP-${{ matrix.php }} ${{ matrix.dependencies }} on ${{ matrix.os }}
1620

1721
steps:
18-
19-
- name: Checkout
20-
uses: actions/checkout@v4
21-
22-
- name: Cache dependencies
23-
id: composer-cache
24-
run: |
25-
echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
26-
- uses: actions/cache@v4
27-
with:
28-
path: ${{ steps.composer-cache.outputs.dir }}
29-
key: ${{ runner.os }}-php-${{ matrix.php }}-composer-${{ hashFiles('composer.json') }}
30-
restore-keys: |
31-
${{ runner.os }}-composer-
32-
33-
- name: Setup PHP
34-
uses: shivammathur/setup-php@v2
35-
with:
36-
php-version: ${{ matrix.php }}
37-
coverage: none
38-
39-
- name: Install Composer dependencies
40-
run: composer update --${{ matrix.dependency-version }} --no-interaction --prefer-dist
41-
42-
- name: Check code lint
43-
run: composer check
44-
45-
- name: Test code units
46-
run: composer test
47-
48-
- name: Integration test
49-
run: composer ci
22+
- name: 🚚 Get latest code
23+
uses: actions/checkout@v4
24+
25+
- name: 📂 Cache dependencies
26+
id: composer-cache
27+
run: |
28+
echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
29+
- uses: actions/cache@v4
30+
with:
31+
path: ${{ steps.composer-cache.outputs.dir }}
32+
key: ${{ runner.os }}-dependencies-php-${{ matrix.php }}-composer-${{ hashFiles('composer.json') }}
33+
restore-keys: |
34+
${{ runner.os }}-dependencies-php-${{ matrix.php }}-composer-
35+
36+
- name: ⚡️ Setup PHP
37+
uses: shivammathur/setup-php@v2
38+
with:
39+
php-version: ${{ matrix.php }}
40+
extensions: curl, dom, gd, intl, mbstring, openssl, tokenizer, zip
41+
ini-values: error_reporting=E_ALL
42+
tools: composer:v2, php-cs-fixer, phpunit, vimeo/psalm
43+
coverage: pcov
44+
45+
- name: 📦️ Install Composer dependencies
46+
uses: ramsey/composer-install@v3
47+
with:
48+
dependency-versions: ${{ matrix.dependencies }}
49+
composer-options: --no-ansi --no-cache --no-interaction --no-scripts --no-progress --prefer-dist
50+
51+
- name: ✅ Check code lint
52+
run: composer check
53+
54+
- name: 🧪 Test code units
55+
run: composer test

0 commit comments

Comments
 (0)