-
-
Notifications
You must be signed in to change notification settings - Fork 19
138 lines (110 loc) · 2.95 KB
/
test-coverage.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
130
131
132
133
134
135
136
137
138
name: Test Coverage
on: [push, pull_request]
permissions:
contents: read
env:
CONSOLE_OUTPUT: XTerm
COVERAGE: PartialSummary
jobs:
test:
name: ${{matrix.ruby}} on ${{matrix.os}}
runs-on: ${{matrix.os}}-latest
services:
redis:
image: redis
options: >-
--health-cmd "redis-cli ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 6379:6379
strategy:
matrix:
os:
- ubuntu
ruby:
- "3.3"
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{matrix.ruby}}
bundler-cache: true
- name: Run tests
timeout-minutes: 5
run: bundle exec bake test
- uses: actions/upload-artifact@v4
with:
include-hidden-files: true
if-no-files-found: error
name: coverage-${{matrix.os}}-${{matrix.ruby}}
path: .covered.db
test-sentinel:
name: ${{matrix.ruby}} on ${{matrix.os}} (Sentinel)
runs-on: ${{matrix.os}}-latest
strategy:
matrix:
os:
- ubuntu
ruby:
- "3.3"
steps:
- uses: actions/checkout@v4
- name: Install Docker Compose
run: |
sudo apt-get update
sudo apt-get install -y docker-compose
- name: Run tests
timeout-minutes: 10
env:
RUBY_VERSION: ${{matrix.ruby}}
run: docker-compose -f sentinel/docker-compose.yaml up --exit-code-from tests
- uses: actions/upload-artifact@v3
with:
include-hidden-files: true
if-no-files-found: error
name: coverage-${{matrix.os}}-${{matrix.ruby}}
path: .covered.db
test-cluster:
name: ${{matrix.ruby}} on ${{matrix.os}} (Cluster)
runs-on: ${{matrix.os}}-latest
strategy:
matrix:
os:
- ubuntu
ruby:
- "3.3"
steps:
- uses: actions/checkout@v4
- name: Install Docker Compose
run: |
sudo apt-get update
sudo apt-get install -y docker-compose
- name: Run tests
timeout-minutes: 10
env:
RUBY_VERSION: ${{matrix.ruby}}
run: docker-compose -f cluster/docker-compose.yaml up --exit-code-from tests
- uses: actions/upload-artifact@v3
with:
include-hidden-files: true
if-no-files-found: error
name: coverage-${{matrix.os}}-${{matrix.ruby}}
path: .covered.db
validate:
needs:
- test
- test-sentinel
- test-cluster
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: "3.3"
bundler-cache: true
- uses: actions/download-artifact@v4
- name: Validate coverage
timeout-minutes: 5
run: bundle exec bake covered:validate --paths */.covered.db \;