Skip to content

Commit 67d238a

Browse files
author
Alex Westergaard
committed
Update CI to test default AND lowest stable composer version
1 parent 6a266cb commit 67d238a

File tree

1 file changed

+57
-5
lines changed

1 file changed

+57
-5
lines changed

.github/workflows/ci.yml

Lines changed: 57 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
- name: "Validate Mergable"
2222
run: git merge origin/master --no-commit --ff-only
2323

24-
render-php:
24+
render-php-default:
2525
needs: validate-mergable
2626
runs-on: ${{ matrix.operating-system }}
2727

@@ -62,8 +62,8 @@ jobs:
6262
uses: actions/cache@v3
6363
with:
6464
path: vendor
65-
key: composer-${{ steps.composer-hash.outputs.hash }}
66-
restore-keys: composer-${{ steps.composer-hash.outputs.hash }}
65+
key: composer-default-${{ steps.composer-hash.outputs.hash }}
66+
restore-keys: composer-default-${{ steps.composer-hash.outputs.hash }}
6767

6868
- name: "Install Dependencies"
6969
if: ${{ steps.cache-composer.outputs.cache-hit != 'true' }}
@@ -76,5 +76,57 @@ jobs:
7676
- name: "PHPUnit"
7777
run: ./vendor/bin/phpunit
7878

79-
- name: "Coverage"
80-
run: echo "$(cat ./.phpunit/coverage.txt)"
79+
render-php-lowest:
80+
needs: render-php-default
81+
runs-on: ${{ matrix.operating-system }}
82+
83+
strategy:
84+
max-parallel: 3
85+
fail-fast: true
86+
matrix:
87+
operating-system: ["ubuntu-latest"]
88+
php-versions: ["8.0", "8.1", "8.2"]
89+
phpunit-versions: ["latest"]
90+
91+
steps:
92+
- name: "Checkout"
93+
uses: actions/checkout@v3
94+
with:
95+
fetch-depth: 0
96+
97+
- name: "Setup PHP"
98+
uses: shivammathur/setup-php@v2
99+
with:
100+
php-version: ${{ matrix.php-versions }}
101+
extensions: mbstring, intl
102+
ini-values: post_max_size=256M, max_execution_time=180
103+
coverage: xdebug
104+
tools: phpunit:${{ matrix.phpunit-versions }}
105+
106+
- name: "Composer State"
107+
run: composer update --prefer-lowest --no-install --with-all-dependencies
108+
109+
- name: "Composer Name Hash"
110+
id: composer-hash
111+
uses: KEINOS/gh-action-hash-for-cache@main
112+
with:
113+
path: ./composer.lock
114+
115+
- name: "Caching"
116+
id: cache-composer
117+
uses: actions/cache@v3
118+
with:
119+
path: vendor
120+
key: composer-lowest-${{ steps.composer-hash.outputs.hash }}
121+
restore-keys: composer-lowest-${{ steps.composer-hash.outputs.hash }}
122+
123+
- name: "Install Dependencies"
124+
if: ${{ steps.cache-composer.outputs.cache-hit != 'true' }}
125+
run: composer install
126+
127+
- name: "Linux: Restore Vendor Executable"
128+
if: matrix.operating-system == 'ubuntu-latest'
129+
run: chmod -R 0755 vendor
130+
131+
- name: "PHPUnit"
132+
run: ./vendor/bin/phpunit

0 commit comments

Comments
 (0)