-
Notifications
You must be signed in to change notification settings - Fork 24
129 lines (108 loc) · 5 KB
/
test-application.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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
name: Test application
on:
pull_request:
push:
branches:
- '[0-9]+.x'
- '[0-9]+.[0-9]+'
jobs:
test:
name: 'PHP ${{ matrix.php-version }} (${{ matrix.dependency-versions }}) (${{ matrix.minimum-stability }})'
runs-on: ubuntu-latest
env:
SYMFONY_DEPRECATIONS_HELPER: weak
COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ELASTICSEARCH_VERSION: ${{ matrix.elasticsearch-version }}
strategy:
fail-fast: false
matrix:
include:
- php-version: '7.2'
elasticsearch-version: '2.4.6'
elasticsearch-package-constraint: '^2.1'
minimum-stability: 'stable'
dependency-versions: 'lowest'
tools: 'composer:v1'
php-cs-fixer: false
- php-version: '7.3'
elasticsearch-version: '2.4.6'
elasticsearch-package-constraint: '^2.1'
minimum-stability: 'stable'
dependency-versions: 'highest'
tools: 'composer:v2'
php-cs-fixer: false
- php-version: '7.4'
elasticsearch-version: '2.4.6'
elasticsearch-package-constraint: '^2.1'
minimum-stability: 'stable'
dependency-versions: 'highest'
tools: 'composer:v2'
php-cs-fixer: true
- php-version: '8.0'
elasticsearch-version: '7.11.1'
elasticsearch-package-constraint: '~7.11.0'
minimum-stability: 'stable'
dependency-versions: 'highest'
tools: 'composer:v2'
php-cs-fixer: false
- php-version: '8.1'
elasticsearch-version: '7.11.1'
elasticsearch-package-constraint: '~7.11.0'
minimum-stability: 'stable'
dependency-versions: 'highest'
tools: 'composer:v2'
php-cs-fixer: false
- php-version: '8.2'
elasticsearch-version: '7.11.1'
elasticsearch-package-constraint: '~7.11.0'
minimum-stability: 'stable'
dependency-versions: 'highest'
tools: 'composer:v2'
php-cs-fixer: false
- php-version: '8.3'
elasticsearch-version: '7.17.19'
elasticsearch-package-constraint: '~7.17.0'
minimum-stability: 'dev'
dependency-versions: 'highest'
tools: 'composer:v2'
php-cs-fixer: false
services:
elasticsearch:
image: elasticsearch:${{ matrix.elasticsearch-version }}
ports:
- 9200:9200
env:
discovery.type: 'single-node'
xpack.security.enabled: 'false'
options: --health-cmd="curl http://localhost:9200/_cluster/health" --health-interval=10s --health-timeout=5s --health-retries=5
steps:
- name: Checkout project
uses: actions/checkout@v2
- name: Install and configure PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
tools: ${{ matrix.tools }}
- name: Require elasticsearch dependency
run: composer require --dev elasticsearch/elasticsearch:${{ matrix.elasticsearch-package-constraint }} --no-interaction --no-update
- name: Configure composer minimum-stability
run: composer config minimum-stability ${{ matrix.minimum-stability }}
- name: Install composer dependencies
uses: ramsey/composer-install@v1
with:
dependency-versions: ${{matrix.dependency-versions}}
- name: Run php-cs-fixer
if: ${{ matrix.php-cs-fixer }}
run: |
composer global require friendsofphp/php-cs-fixer:^2.19 --prefer-dist --no-interaction
GLOBAL_BIN_DIR=$(composer global config bin-dir --absolute --quiet)
$GLOBAL_BIN_DIR/php-cs-fixer fix --dry-run --diff
- name: Lint code
run: composer validate --strict
- name: Execute unit tests
run: vendor/bin/simple-phpunit
- name: Execute zend lucene behat tests
run: vendor/bin/behat --suite=zend_lucene
- name: Execute elastic behat tests
if: ${{ matrix.php-version < '8.0' }} # requires fixing elastic tests on 7.11 (sorting)
run: vendor/bin/behat --suite=elastic