136 lines (113 loc) · 3.31 KB
/
ruby.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
name: Puma
on: [push, pull_request]
jobs:
build:
name: >-
${{ matrix.os }}, ${{ matrix.ruby }}
env:
CI: true
TESTOPTS: -v
runs-on: ${{ matrix.os }}
if: |
!(contains(github.event.pull_request.title, '[ci skip]')
|| contains(github.event.head_commit.message, '[ci skip]'))
strategy:
fail-fast: false
matrix:
os: [ ubuntu-18.04, macos ]
ruby: [ 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, head, jruby, truffleruby-head ]
steps:
- name: repo checkout
uses: actions/checkout@v2
- name: load ruby, ragel
uses: MSP-Greg/setup-ruby-pkgs@v1
with:
ruby-version: ${{ matrix.ruby }}
apt-get: ragel
brew: ragel
- name: bundle install
run: |
# update RubyGems in Ruby 2.2, bundle install
if [[ "${{ matrix.ruby }}" < "2.3" ]]; then
gem update --system 2.7.10 --no-document
fi
bundle install --jobs 4 --retry 3 --path=.bundle/puma
- name: compile
run: bundle exec rake compile
- name: rubocop
if: startsWith(matrix.ruby, '2.')
run: bundle exec rake rubocop
- name: test
timeout-minutes: 8
run: bundle exec rake test:all
win32:
name: >-
${{ matrix.os }}, ${{ matrix.ruby }}
env:
CI: true
TESTOPTS: -v
runs-on: ${{ matrix.os }}
if: |
!(contains(github.event.pull_request.title, '[ci skip]')
|| contains(github.event.head_commit.message, '[ci skip]'))
strategy:
fail-fast: false
matrix:
os: [ windows-latest ]
ruby: [ 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, mingw ]
steps:
- name: repo checkout
uses: actions/checkout@v2
- name: load ruby, ragel, openssl
uses: MSP-Greg/setup-ruby-pkgs@v1
with:
ruby-version: ${{ matrix.ruby }}
mingw: _upgrade_ openssl ragel
- name: bundle install
run: |
# update RubyGems in Ruby 2.2, bundle install
if ('${{ matrix.ruby }}' -lt '2.3') {
gem update --system 2.7.10 --no-document
}
bundle install --jobs 4 --retry 3 --path=.bundle/puma
- name: compile
run: |
bundle exec rake compile
- name: test
timeout-minutes: 8
run: bundle exec rake
allowedFailures:
name: >-
${{ matrix.cfg.os }}, ${{ matrix.cfg.ruby }}
env:
CI: true
TESTOPTS: -v
runs-on: ${{ matrix.cfg.os }}
if: |
!(contains(github.event.pull_request.title, '[ci skip]')
|| contains(github.event.head_commit.message, '[ci skip]'))
strategy:
fail-fast: false
matrix:
cfg:
- { os: ubuntu-latest, ruby: jruby-head }
steps:
- name: repo checkout
uses: actions/checkout@v2
- name: load ruby, ragel
uses: MSP-Greg/setup-ruby-pkgs@v1
with:
ruby-version: ${{ matrix.cfg.ruby }}
apt-get: ragel
brew: ragel
- name: bundle install
run: |
bundle install --jobs 4 --retry 3 --path=.bundle/puma
- name: compile
continue-on-error: true
run: bundle exec rake compile
- name: test
timeout-minutes: 8
continue-on-error: true
if: success()
run: bundle exec rake