Skip to content

Commit 0418e66

Browse files
committed
ci
1 parent 060e4c4 commit 0418e66

File tree

2 files changed

+50
-40
lines changed

2 files changed

+50
-40
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: 'Setup PHP and Composer'
2+
description: 'Setup PHP and install Composer dependencies with caching'
3+
4+
inputs:
5+
php-version:
6+
description: 'PHP version to use'
7+
required: false
8+
default: '8.4'
9+
10+
runs:
11+
using: 'composite'
12+
steps:
13+
- name: Setup PHP
14+
uses: shivammathur/setup-php@v2
15+
with:
16+
php-version: ${{ inputs.php-version }}
17+
18+
- name: Get Composer Cache Directory
19+
id: composer-cache
20+
shell: bash
21+
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
22+
23+
- name: Cache Composer dependencies
24+
uses: actions/cache@v5
25+
with:
26+
path: ${{ steps.composer-cache.outputs.dir }}
27+
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
28+
restore-keys: |
29+
${{ runner.os }}-composer-
30+
31+
- name: Install dependencies
32+
shell: bash
33+
run: composer install --prefer-dist --no-interaction --no-progress
34+

.github/workflows/static-analysis.yml

Lines changed: 16 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -14,29 +14,11 @@ jobs:
1414
- name: Checkout code
1515
uses: actions/checkout@v5
1616

17-
- name: Setup PHP
18-
uses: shivammathur/setup-php@v2
19-
with:
20-
php-version: 8.4
21-
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv, imagick, fileinfo
22-
23-
- name: Get Composer Cache Directory
24-
id: composer-cache
25-
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
26-
27-
- name: Cache Composer dependencies
28-
uses: actions/cache@v4
29-
with:
30-
path: ${{ steps.composer-cache.outputs.dir }}
31-
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
32-
restore-keys: |
33-
${{ runner.os }}-composer-
34-
35-
- name: Install dependencies
36-
run: composer install --prefer-dist --no-interaction --no-progress
17+
- name: Setup PHP and Composer
18+
uses: ./.github/actions/setup-php-composer
3719

3820
- name: Cache phpstan results
39-
uses: actions/cache@v4
21+
uses: actions/cache@v5
4022
with:
4123
path: .phpstan-cache
4224
key: "result-cache-${{ github.run_id }}" # always write a new cache
@@ -52,26 +34,20 @@ jobs:
5234
- name: Checkout code
5335
uses: actions/checkout@v5
5436

55-
- name: Setup PHP
56-
uses: shivammathur/setup-php@v2
57-
with:
58-
php-version: 8.4
59-
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv, imagick, fileinfo
37+
- name: Setup PHP and Composer
38+
uses: ./.github/actions/setup-php-composer
6039

61-
- name: Get Composer Cache Directory
62-
id: composer-cache
63-
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
40+
- name: Check type coverage
41+
run: vendor/bin/pest --type-coverage --min=100
6442

65-
- name: Cache Composer dependencies
66-
uses: actions/cache@v4
67-
with:
68-
path: ${{ steps.composer-cache.outputs.dir }}
69-
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
70-
restore-keys: |
71-
${{ runner.os }}-composer-
43+
format:
44+
runs-on: ubuntu-latest
45+
steps:
46+
- name: Checkout code
47+
uses: actions/checkout@v5
7248

73-
- name: Install dependencies
74-
run: composer install --prefer-dist --no-interaction --no-progress
49+
- name: Setup PHP and Composer
50+
uses: ./.github/actions/setup-php-composer
7551

76-
- name: Check type coverage
77-
run: vendor/bin/pest --type-coverage --min=100
52+
- name: Run format checks
53+
run: composer format

0 commit comments

Comments
 (0)