-
-
Notifications
You must be signed in to change notification settings - Fork 409
98 lines (82 loc) · 3.23 KB
/
ci-linux.yaml
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
name: "CI Linux"
on:
pull_request:
push:
branches:
- 'main'
schedule:
- cron: '0 0 * * *'
env:
PHPUNIT_FLAGS: "-v"
SYMFONY_PHPUNIT_DIR: "$HOME/symfony-bridge/.phpunit"
jobs:
test:
name: "PHP ${{ matrix.php-version }} + @${{ matrix.symfony-version }} ${{ matrix.dependency-versions }} deps"
runs-on: ubuntu-latest
services:
mercure:
image: dunglas/mercure
env:
SERVER_NAME: :1337
MERCURE_PUBLISHER_JWT_KEY: '!ChangeThisMercureHubJWTSecretKey!'
MERCURE_SUBSCRIBER_JWT_KEY: '!ChangeThisMercureHubJWTSecretKey!'
MERCURE_EXTRA_DIRECTIVES: |
anonymous
cors_origins *
ports:
- 1337:1337
env:
SYMFONY_VERSION: ${{ matrix.symfony-version }}
MAKER_ALLOW_DEV_DEPS_IN_APP: ${{ matrix.allow-dev-deps-in-apps }}
strategy:
fail-fast: false
matrix:
php-version:
- '8.3'
symfony-version:
- '6.4.x-dev'
- '7.0.x-dev'
- '7.1.x-dev'
dependency-versions: ['highest']
allow-dev-deps-in-apps: ['0']
include:
# testing lowest PHP+dependencies with lowest Symfony
- php-version: '8.1'
symfony-version: '6.4.*'
dependency-versions: 'lowest'
# testing lowest PHP+dependencies with highest Symfony
- php-version: '8.1'
symfony-version: '6.4.*'
dependency-versions: 'highest'
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Install PHP with extensions
uses: shivammathur/setup-php@v2
with:
coverage: "none"
php-version: ${{ matrix.php-version }}
- name: Add PHPUnit matcher
run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
- name: Composer install
uses: "ramsey/composer-install@v2"
with:
dependency-versions: "${{ matrix.dependency-versions }}"
- name: Composer install php-cs-fixer
uses: "ramsey/composer-install@v2"
with:
composer-options: "--no-scripts --working-dir=tools/php-cs-fixer"
- name: Composer install twigcs
uses: "ramsey/composer-install@v2"
with:
composer-options: "--no-scripts --working-dir=tools/twigcs"
- name: Install PHPUnit
run: |
if [[ ${{ matrix.dependency_versions == 'lowest' }} ]]; then
echo "SYMFONY_PHPUNIT_REQUIRE=nikic/php-parser:^4.18" >> $GITHUB_ENV
fi
vendor/bin/simple-phpunit install
- name: PHPUnit version
run: vendor/bin/simple-phpunit --version
- name: Run tests
run: vendor/bin/simple-phpunit ${{ env.PHPUNIT_FLAGS }}