Skip to content

Commit 980efff

Browse files
Merge pull request #45 from andrew-miller-rakuten/improve-workflows
Improve workflows to test per PHPxLaravel version
2 parents 8204061 + 7c3c2ac commit 980efff

File tree

5 files changed

+172
-122
lines changed

5 files changed

+172
-122
lines changed

.github/workflows/code-coverage.yml

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Code Coverage
2+
3+
on: [fork, pull_request, push, workflow_dispatch]
4+
5+
jobs:
6+
code-coverage:
7+
name: Code Coverage
8+
9+
runs-on: ubuntu-latest
10+
11+
strategy:
12+
matrix:
13+
php-version: ['8.3']
14+
15+
steps:
16+
- name: Checkout
17+
uses: actions/checkout@v4
18+
19+
- name: Install PHP with extensions
20+
uses: shivammathur/setup-php@v2
21+
with:
22+
coverage: xdebug
23+
extensions: intl
24+
ini-values: memory_limit=-1
25+
php-version: ${{ matrix.php-version }}
26+
27+
- name: Determine composer cache directory
28+
id: determine-composer-cache-directory
29+
run: echo "directory=$(composer config cache-dir)" >> $GITHUB_OUTPUT
30+
31+
- name: Cache dependencies installed with composer
32+
uses: actions/cache@v4
33+
with:
34+
path: ${{ steps.determine-composer-cache-directory.outputs.directory }}
35+
key: php-${{ matrix.php-version }}-composer-${{ hashFiles('**/composer.json') }}
36+
restore-keys: php-${{ matrix.php-version }}-composer-
37+
38+
- name: Install dependencies with composer
39+
run: composer install --no-interaction --no-progress --no-suggest
40+
41+
- name: Create build directory
42+
run: mkdir -p .build/logs
43+
44+
- name: Collect code coverage with Xdebug and phpunit/phpunit
45+
run: vendor/bin/phpunit --coverage-clover=.build/logs/clover.xml
+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: Coding Standards
2+
3+
on: [fork, pull_request, push, workflow_dispatch]
4+
5+
jobs:
6+
coding-standards:
7+
name: Coding Standards
8+
9+
runs-on: ubuntu-latest
10+
11+
strategy:
12+
matrix:
13+
php-version: ['8.3']
14+
15+
steps:
16+
- name: Checkout
17+
uses: actions/checkout@v4
18+
19+
- name: Install PHP with extensions
20+
uses: shivammathur/setup-php@v2
21+
with:
22+
coverage: none
23+
extensions: intl
24+
php-version: ${{ matrix.php-version }}
25+
26+
- name: Determine composer cache directory
27+
id: determine-composer-cache-directory
28+
run: echo "directory=$(composer config cache-dir)" >> $GITHUB_OUTPUT
29+
30+
- name: Cache dependencies installed with composer
31+
uses: actions/cache@v4
32+
with:
33+
path: ${{ steps.determine-composer-cache-directory.outputs.directory }}
34+
key: php-${{ matrix.php-version }}-composer-${{ hashFiles('**/composer.json') }}
35+
restore-keys: php-${{ matrix.php-version }}-composer-
36+
37+
- name: Install dependencies with composer
38+
run: composer install --no-interaction --no-progress --no-suggest
39+
40+
- name: Run squizlabs/php_codesniffer
41+
run: vendor/bin/phpcs --standard=PSR2 src -n

.github/workflows/php.yml

-120
This file was deleted.

.github/workflows/run-tests.yml

+84
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
name: Run Tests
2+
3+
on: [fork, pull_request, push, workflow_dispatch]
4+
5+
jobs:
6+
tests:
7+
name: PHP ${{ matrix.php-version }} - Laravel ${{ matrix.laravel-version }} - ${{ matrix.dependency-version }}
8+
9+
runs-on: ubuntu-latest
10+
11+
strategy:
12+
# Enable all tests to run to ease finding multiple issues at once
13+
fail-fast: false
14+
15+
matrix:
16+
php-version: ['7.3', '7.4', '8.0', '8.1', '8.2', '8.3']
17+
laravel-version: ['^7.0', '^8.79', '^9.33', '^10.0', '^11.0']
18+
dependency-version: [prefer-lowest, prefer-stable]
19+
exclude:
20+
- php-version: '7.3'
21+
laravel-version: '^9.33'
22+
- php-version: '7.3'
23+
laravel-version: '^10.0'
24+
- php-version: '7.3'
25+
laravel-version: '^11.0'
26+
- php-version: '7.4'
27+
laravel-version: '^9.33'
28+
- php-version: '7.4'
29+
laravel-version: '^10.0'
30+
- php-version: '7.4'
31+
laravel-version: '^11.0'
32+
- php-version: '8.0'
33+
laravel-version: '^10.0'
34+
- php-version: '8.0'
35+
laravel-version: '^11.0'
36+
- php-version: '8.1'
37+
laravel-version: '^7.0'
38+
- php-version: '8.1'
39+
laravel-version: '^11.0'
40+
- php-version: '8.2'
41+
laravel-version: '^7.0'
42+
- php-version: '8.2'
43+
laravel-version: '^8.79'
44+
- php-version: '8.3'
45+
laravel-version: '^7.0'
46+
- php-version: '8.3'
47+
laravel-version: '^8.79'
48+
49+
steps:
50+
- name: Checkout
51+
uses: actions/checkout@v4
52+
53+
- name: Install PHP with extensions
54+
uses: shivammathur/setup-php@v2
55+
with:
56+
coverage: none
57+
extensions: intl
58+
ini-values: memory_limit=-1
59+
php-version: ${{ matrix.php-version }}
60+
61+
- name: Determine composer cache directory
62+
id: determine-composer-cache-directory
63+
run: echo "directory=$(composer config cache-dir)" >> $GITHUB_OUTPUT
64+
65+
- name: Update composer.json for the build
66+
run: composer require --no-interaction --no-update "illuminate/support:${{ matrix.laravel-version }}"
67+
68+
- name: Cache dependencies installed with composer
69+
uses: actions/cache@v4
70+
with:
71+
path: ${{ steps.determine-composer-cache-directory.outputs.directory }}
72+
key: php-${{ matrix.php-version }}-laravel-${{ matrix.laravel-version }}-${{ matrix.dependency-version }}-composer-${{ hashFiles('**/composer.json') }}
73+
restore-keys: php-${{ matrix.php-version }}-laravel-${{ matrix.laravel-version }}-${{ matrix.dependency-version }}-composer-
74+
75+
- name: Install dependencies with composer
76+
run: composer update --${{ matrix.dependency-version }} --prefer-dist --no-interaction
77+
78+
- name: Setup Problem Matchers
79+
run: |
80+
echo "::add-matcher::${{ runner.tool_cache }}/php.json"
81+
echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
82+
83+
- name: Run tests with phpunit/phpunit
84+
run: vendor/bin/phpunit

composer.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,13 @@
2020
"require": {
2121
"php": "^7.3|^8.0",
2222
"guzzlehttp/guzzle": "^6.3|^7.0",
23-
"illuminate/support": "~7.0|~8.0|~9.0|~10.0|^11.0"
23+
"illuminate/support": "^7.0|^8.79|^9.33|^10.0|^11.0"
2424
},
2525
"require-dev": {
2626
"phpunit/phpunit": "^9.0|^10.0",
2727
"squizlabs/php_codesniffer": "^3.0",
2828
"orchestra/testbench": "^5.0|^6.0|^7.0|^8.0|^9.0",
29-
"mockery/mockery": "^1.3.0"
29+
"mockery/mockery": "^1.3.2"
3030
},
3131
"autoload": {
3232
"psr-4": {

0 commit comments

Comments
 (0)