-
-
Notifications
You must be signed in to change notification settings - Fork 24
141 lines (110 loc) · 3.27 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
130
131
132
133
134
135
136
137
138
139
140
141
on:
pull_request:
push:
branches:
- main
name: Tests
jobs:
unit-tests:
name: Unit tests (PHPUnit)
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
php-version:
- "8.1"
dependencies:
# - lowest
- highest
- locked
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
tools: none
- name: Install composer dependencies
uses: ramsey/[email protected]
with:
dependency-versions: ${{ matrix.dependencies }}
- name: Run tests with phpunit
run: |
composer config --no-plugins allow-plugins.infection/extension-installer true
composer ci:unit
# integration-tests:
# name: Integration tests (PHPUnit)
# runs-on: ubuntu-latest
# steps:
# - name: Checkout
# uses: actions/checkout@v2
# - name: Install PHP
# uses: shivammathur/setup-php@v2
# with:
# php-version: "8.1"
# tools: none
# - name: Install composer dependencies
# uses: ramsey/[email protected]
# with:
# dependency-versions: ${{ matrix.locked }}
# composer-options: --no-ansi --no-interaction --no-progress
# - name: Run tests with phpunit
# env:
# NOTION_TOKEN: ${{ secrets.NOTION_TOKEN }}
# TEST_PAGE_ID: ${{ secrets.TEST_PAGE_ID }}
# run: composer ci:integration
mutation-tests:
name: "Mutation tests (Infection)"
# if: ${{ always() }}
# needs: [coverage]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: "8.1"
coverage: "pcov"
tools: none
- name: Install composer dependencies
uses: ramsey/[email protected]
with:
dependency-versions: locked
composer-options: --no-ansi --no-interaction --no-progress
- name: Run mutation tests with Infection
env:
NOTION_TOKEN: ${{ secrets.NOTION_TOKEN }}
TEST_PAGE_ID: ${{ secrets.TEST_PAGE_ID }}
run: composer ci:mutation
coverage:
name: Test coverage (PHPUnit)
# if: ${{ always() }}
# needs: [mutation-tests]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: "8.1"
coverage: pcov
tools: none
- name: Install composer dependencies
uses: ramsey/[email protected]
with:
dependency-versions: locked
composer-options: --no-ansi --no-interaction --no-progress
- name: Calculate test coverage
env:
NOTION_TOKEN: ${{ secrets.NOTION_TOKEN }}
TEST_PAGE_ID: ${{ secrets.TEST_PAGE_ID }}
run: composer ci:coverage
- name: Send code coverage report to Codecov.io
uses: codecov/codecov-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}