-
Notifications
You must be signed in to change notification settings - Fork 97
129 lines (123 loc) · 4.75 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
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: Tests
on:
pull_request:
push:
# trying and staging branches are for BORS config
branches:
- trying
- staging
- main
jobs:
yaml-lint:
name: Yaml linting check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Yaml lint check
uses: ibiqlik/action-yamllint@v3
with:
config_file: .yamllint.yml
lint:
runs-on: ubuntu-latest
name: linter-check
steps:
- uses: actions/checkout@v3
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.2
coverage: none
- name: Install dependencies
run: composer update --prefer-dist --no-progress
- name: Run linter
run: composer lint
phpstan:
runs-on: ubuntu-latest
name: phpstan-tests
steps:
- uses: actions/checkout@v3
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.2
coverage: none
- name: Install dependencies
run: composer update --prefer-dist --no-progress
- name: Run types tests with PHPStan
run: composer phpstan
tests:
# Will not run if the event is a PR to bump-meilisearch-v* (so a pre-release PR)
# Will still run for each push to bump-meilisearch-v*
if: github.event_name != 'pull_request' || !startsWith(github.base_ref, 'bump-meilisearch-v')
runs-on: ubuntu-latest
strategy:
matrix:
php-versions: ['7.4', '8.0', '8.1', '8.2']
name: integration-tests (PHP ${{ matrix.php-versions }})
steps:
- uses: actions/checkout@v3
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
coverage: none
- name: Validate composer.json and composer.lock
run: composer validate
- name: Install dependencies
run: |
composer remove --dev friendsofphp/php-cs-fixer --no-update --no-interaction
composer update --prefer-dist --no-progress
- name: Meilisearch (latest version) setup with Docker
run: docker run -d -p 7700:7700 getmeili/meilisearch:latest meilisearch --master-key=masterKey --no-analytics
- name: Run test suite - default HTTP client (Guzzle 7)
run: |
sh scripts/tests.sh
composer remove --dev guzzlehttp/guzzle http-interop/http-factory-guzzle
- name: Run test suite - php-http/guzzle7-adapter
run: |
composer require --dev php-http/guzzle7-adapter http-interop/http-factory-guzzle
sh scripts/tests.sh
composer remove --dev php-http/guzzle7-adapter http-interop/http-factory-guzzle
- name: Run test suite - symfony/http-client
run: |
composer require --dev symfony/http-client nyholm/psr7
sh scripts/tests.sh
composer remove --dev symfony/http-client nyholm/psr7
- name: Run test suite - php-http/curl-client
run: |
composer require --dev php-http/curl-client nyholm/psr7
sh scripts/tests.sh
composer remove --dev php-http/curl-client nyholm/psr7
- name: Run test suite - kriswallsmith/buzz
run: |
composer require --dev kriswallsmith/buzz nyholm/psr7 --with-all-dependencies
composer update php-http/client-common:2.6.0 php-http/httplug:2.3.0 psr/http-message
sh scripts/tests.sh
composer remove --dev kriswallsmith/buzz nyholm/psr7
test_php_7_guzzle_6:
# Will not run if the event is a PR to bump-meilisearch-v* (so a pre-release PR)
# Will still run for each push to bump-meilisearch-v*
if: github.event_name != 'pull_request' || !startsWith(github.base_ref, 'bump-meilisearch-v')
runs-on: ubuntu-latest
name: integration-tests (PHP 7.4 & Guzzle 6)
steps:
- uses: actions/checkout@v3
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: '7.4'
coverage: none
- name: Validate composer.json and composer.lock
run: composer validate
- name: Install dependencies
run: |
composer remove --dev friendsofphp/php-cs-fixer --no-update --no-interaction
composer update --prefer-dist --no-progress
composer remove --dev guzzlehttp/guzzle http-interop/http-factory-guzzle
composer update php-http/client-common:2.6.0 php-http/httplug:2.3.0 psr/http-message
- name: Meilisearch (latest version) setup with Docker
run: docker run -d -p 7700:7700 getmeili/meilisearch:latest meilisearch --master-key=masterKey --no-analytics
- name: Run test suite - php-http/guzzle6-adapter
run: |
composer require --dev php-http/guzzle6-adapter http-interop/http-factory-guzzle
sh scripts/tests.sh