-
Notifications
You must be signed in to change notification settings - Fork 222
126 lines (110 loc) · 3.29 KB
/
ci.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
name: CI
on:
pull_request: null
push:
branches:
- "*.*"
- "master"
schedule:
- cron: "0 4 * * *"
jobs:
tests:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
php-version:
- '8.0'
- '8.1'
- '8.2'
- '8.3'
symfony-version:
- '5.4.*'
- '6.0.*'
- '6.2.*'
- '6.4.*'
- '7.0.*'
dependencies:
- 'lowest'
- 'highest'
remove-dependencies: [ '' ]
coverage: [ 'none' ]
exclude:
- php-version: '8.0'
symfony-version: '6.2.*'
- php-version: '8.0'
symfony-version: '6.4.*'
- php-version: '8.0'
symfony-version: '7.0.*'
- php-version: '8.1'
symfony-version: '7.0.*'
include:
- php-version: '8.0'
symfony-version: '5.4.*'
dependencies: 'lowest'
remove-dependencies: '--dev symfony/validator doctrine/orm doctrine/annotations'
- php-version: '8.1'
symfony-version: '5.4.*'
dependencies: 'lowest'
coverage: 'pcov'
steps:
- name: "Checkout"
uses: "actions/checkout@v4"
- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
tools: flex
php-version: "${{ matrix.php-version }}"
coverage: "${{ matrix.coverage }}"
- name: "Webonyx GraphQL version"
if: "matrix.graphql-version != ''"
run: composer require "webonyx/graphql-php:${{ matrix.graphql-version }}" --dev --no-update
- name: Remove dependencies
if: "matrix.remove-dependencies != ''"
run: composer remove --no-update ${{ matrix.remove-dependencies }}
- name: "Install dependencies"
uses: "ramsey/composer-install@v2"
with:
dependency-versions: ${{ matrix.dependencies }}
env:
SYMFONY_REQUIRE: "${{ matrix.symfony-version }}"
- name: "Run tests"
run: composer run test
- name: "Upload coverage results to Coveralls"
if: "matrix.coverage == 'pcov'"
env:
COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
wget https://github.com/php-coveralls/php-coveralls/releases/download/v2.6.0/php-coveralls.phar
php php-coveralls.phar --coverage_clover=build/logs/clover.xml -v
coding-standard:
runs-on: ubuntu-22.04
name: Coding Standard
steps:
- name: "Checkout"
uses: "actions/checkout@v4"
- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
tools: flex
php-version: "8.2"
coverage: "none"
- name: "Install dependencies"
uses: "ramsey/composer-install@v2"
- name: "Check coding standard"
run: composer run check-cs
static-analysis:
runs-on: ubuntu-22.04
name: "Static analysis"
steps:
- name: "Checkout"
uses: "actions/checkout@v4"
- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
php-version: "8.1"
coverage: "none"
- name: "Install dependencies"
uses: "ramsey/composer-install@v2"
- name: "Run static-analysis"
run: composer run static-analysis