Skip to content

Commit 993e64a

Browse files
Add GH Actions test workflow
1 parent e778dcb commit 993e64a

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed

.github/workflows/test.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: Check code
2+
3+
on:
4+
push:
5+
pull_request:
6+
7+
jobs:
8+
9+
check:
10+
name: Run PHP tests - PHP ${{ matrix.php }} - Laravel ${{ matrix.laravel }} - ${{ matrix.dependency-version }}
11+
runs-on: ${{ matrix.os }}
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
php: [8.0, 8.1]
16+
laravel: [9.*]
17+
dependency-version: [prefer-lowest, prefer-stable]
18+
os: [ubuntu-latest]
19+
20+
steps:
21+
- name: Check out code
22+
uses: actions/checkout@v2
23+
24+
- name: Cache PHP dependencies
25+
uses: actions/cache@v2
26+
with:
27+
path: '**/vendor'
28+
key: ${{ runner.os }}-vendor-cache-${{ hashFiles('**/composer.lock') }}
29+
restore-keys: |
30+
${{ runner.os }}-vendor-cache-
31+
32+
- name: Cache Composer dependencies
33+
uses: actions/cache@v2
34+
with:
35+
path: ~/.composer/cache/files
36+
key: composer-${{ runner.os }}-php-${{ matrix.php }}-laravel-${{ matrix.laravel }}-${{ hashFiles('composer.json') }}
37+
38+
- name: Validate Composer configuration file
39+
run: composer validate --strict
40+
41+
- name: Set up PHP
42+
uses: shivammathur/setup-php@v2
43+
with:
44+
php-version: ${{ matrix.php }}
45+
extensions: mbstring
46+
coverage: none
47+
48+
- name: Install dependencies
49+
run: |
50+
composer require "laravel/framework:${{ matrix.laravel }}" --no-interaction --no-progress --no-update --no-suggest
51+
composer update --${{ matrix.dependency-version }} --prefer-dist --no-interaction --no-progress --no-suggest --optimize-autoloader
52+
53+
- name: Lint code
54+
run: vendor/bin/php-cs-fixer fix --dry-run --diff
55+
56+
- name: Run tests
57+
run: vendor/bin/phpunit

0 commit comments

Comments
 (0)