-
-
Notifications
You must be signed in to change notification settings - Fork 36
130 lines (114 loc) · 3.68 KB
/
integrationtest.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
130
---
name: Integration Test
on:
# Run on pushes to `master` and on all pull requests.
push:
branches:
- master
pull_request:
# Allow manually triggering the workflow.
workflow_dispatch:
# Cancels all previous workflow runs for the same branch that have not yet completed.
concurrency:
# The concurrency group contains the workflow name and the branch name.
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: "${{ matrix.os }}"
strategy:
matrix:
php:
- '5.4'
- '5.5'
- '5.6'
- '7.0'
- '7.1'
- '7.2'
- '7.3'
- '7.4'
- '8.0'
- '8.1'
- '8.2'
composer:
- 'v1'
- 'v2'
os:
- 'ubuntu-latest'
- 'windows-latest'
include:
# Composer 2.3 drops support for PHP < 7.2, so for PHP 5.4 to 7.1, `v2` will install
# Composer 2.2, for PHP 7.2 and up, `v2` will install Composer 2.3.
# These builds make sure the Composer 2.2 LTS version is 100% supported for PHP 7.2-8.x.
- php: '7.2'
composer: '2.2'
os: 'ubuntu-latest'
- php: '7.3'
composer: '2.2'
os: 'ubuntu-latest'
- php: '7.4'
composer: '2.2'
os: 'ubuntu-latest'
- php: '8.0'
composer: '2.2'
os: 'ubuntu-latest'
- php: '8.1'
composer: '2.2'
os: 'ubuntu-latest'
- php: '8.2'
composer: '2.2'
os: 'ubuntu-latest'
- php: '7.2'
composer: '2.2'
os: 'windows-latest'
- php: '7.3'
composer: '2.2'
os: 'windows-latest'
- php: '7.4'
composer: '2.2'
os: 'windows-latest'
- php: '8.0'
composer: '2.2'
os: 'windows-latest'
- php: '8.1'
composer: '2.2'
os: 'windows-latest'
- php: '8.2'
composer: '2.2'
os: 'windows-latest'
# Also test against the dev version of Composer for early warning about upcoming changes.
- php: 'latest'
composer: 'snapshot'
os: 'ubuntu-latest'
- php: 'latest'
composer: 'snapshot'
os: 'windows-latest'
name: "Integration test"
continue-on-error: ${{ matrix.php == '8.2' || matrix.composer == 'snapshot' }}
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
ini-values: zend.assertions=1, error_reporting=-1, display_errors=On
tools: "composer:${{ matrix.composer }}"
coverage: none
- name: "Conditionally disable tls (Composer 1.x/Windows/PHP 5.4)"
if: ${{ matrix.os == 'windows-latest' && matrix.composer == 'v1' && matrix.php == '5.4' }}
run: composer config -- disable-tls true
# Install dependencies and handle caching in one go.
# @link https://github.com/marketplace/actions/install-composer-dependencies
- name: Install Composer dependencies
if: ${{ matrix.php != '8.2' }}
uses: "ramsey/composer-install@v2"
with:
composer-options: '--optimize-autoloader'
- name: Install Composer dependencies
if: ${{ matrix.php == '8.2' }}
uses: "ramsey/composer-install@v2"
with:
composer-options: '--ignore-platform-reqs --optimize-autoloader'
- name: Run integration tests
run: vendor/bin/phpunit --no-coverage