-
Notifications
You must be signed in to change notification settings - Fork 0
55 lines (51 loc) · 2.27 KB
/
tests.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
name: Tests
on:
push:
branches:
- master
- release/*
pull_request:
workflow_dispatch:
env:
MYSQL_IMAGE: mysql:8.0
MYSQL_DB_OPTIONS: "--health-cmd=\"mysqladmin ping\" --health-interval=10s --health-timeout=5s --health-retries=3"
POSTGRES_IMAGE: postgres:17
POSTGRES_DB_OPTIONS: "--health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 3"
jobs:
# Environment variables are not available in the matrix context, so we have to define them as outputs.
prepare:
name: Get Environment vars
runs-on: ubuntu-latest
outputs:
MYSQL_IMAGE: ${{ env.MYSQL_IMAGE }}
MYSQL_DB_OPTIONS: ${{ env.MYSQL_DB_OPTIONS }}
POSTGRES_IMAGE: ${{ env.POSTGRES_IMAGE }}
POSTGRES_DB_OPTIONS: ${{ env.POSTGRES_DB_OPTIONS }}
steps:
# Placeholder as a job needs a step.
- run: echo "null"
mysql-tests:
name: Setup testing environment and execute tests
needs: prepare
uses: cybex-gmbh/github-workflows/.github/workflows/tests.yml@feature/pass-db-image
strategy:
fail-fast: true
matrix:
db-image: [ "${{ needs.prepare.outputs.MYSQL_IMAGE }}", "${{ needs.prepare.outputs.POSTGRES_IMAGE }}" ]
db-options: [ "${{ needs.prepare.outputs.MYSQL_DB_OPTIONS }}", "${{ needs.prepare.outputs.POSTGRES_DB_OPTIONS }}" ]
php: [ 8.2, 8.3 ]
laravel: [ 11.* ]
dependency-version: [ prefer-stable ]
exclude:
- db-image: "${{ needs.prepare.outputs.MYSQL_IMAGE }}"
db-options: "${{ needs.prepare.outputs.MYSQL_DB_OPTIONS }}"
- db-image: "${{ needs.prepare.outputs.POSTGRES_IMAGE }}"
db-options: "${{ needs.prepare.outputs.POSTGRES_DB_OPTIONS }}"
with:
DATABASE_IMAGE: ${{ matrix.db-image }}
DATABASE_NAME: protector_test
DATABASE_OPTIONS: ${{ matrix.db-options }}
PHP_VERSION: ${{ matrix.php }}
LARAVEL_VERSION: ${{ matrix.laravel }}
DEPENDENCY_VERSION: ${{ matrix.dependency-version }}
TEST_COMMANDS: vendor/bin/phpunit -c phpunit-ci.xml.dist