1
- name : CI
1
+ name : Ruby CI
2
2
3
3
on :
4
4
pull_request :
7
7
workflow_dispatch :
8
8
9
9
jobs :
10
- test :
10
+ lint :
11
+ name : Lint
12
+ runs-on : ubuntu-latest
13
+
14
+ steps :
15
+ - uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
16
+
17
+ - uses : ruby/setup-ruby@v1
18
+ with :
19
+ ruby-version : ' 3.3'
20
+ rubygems : latest
21
+ bundler : 2
22
+ bundler-cache : true
23
+
24
+ - run : bundle exec standardrb
25
+
26
+ required-ubuntu :
11
27
name : Ruby ${{ matrix.ruby }} - ${{ matrix.os }}
28
+
12
29
strategy :
13
30
fail-fast : false
14
31
matrix :
15
32
os :
16
- - macos-latest
17
33
- ubuntu-20.04
34
+ - ubuntu-22.04
35
+ - ubuntu-24.04
18
36
ruby :
19
37
- ' 2.6'
20
38
- ' 2.7'
21
- - ' 3.0'
22
39
- ' 3.1'
23
40
- ' 3.2'
24
41
- ' 3.3'
25
- - head
26
42
- jruby
27
- - jruby-head
28
43
- truffleruby
29
44
include :
30
- - ruby : head
45
+ - ruby : jruby
46
+ os : ubuntu-22.04
31
47
continue-on-error : true
32
- - ruby : jruby-head
48
+ - ruby : truffleruby
49
+ os : ubuntu-22.04
33
50
continue-on-error : true
34
- - os : windows-latest
35
- ruby : mingw
36
- - os : windows-latest
37
- ruby : mswin
38
- - os : windows-latest
39
- ruby : jruby
40
- continue-on-error : true
41
- - os : ubuntu-22.04
42
- ruby : head
43
- continue-on-error : true
44
- - os : ubuntu-22.04
45
- ruby : ' 3.1'
46
- - os : ubuntu-22.04
47
- ruby : ' 3.2'
48
- - os : ubuntu-22.04
49
- ruby : ' 3.3'
50
- standardrb : true
51
51
52
52
runs-on : ${{ matrix.os }}
53
- continue-on-error : ${{ matrix.continue-on-error || false }}
53
+ continue-on-error : ${{ matrix.continue-on-error }}
54
+
55
+ steps :
56
+ - uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
57
+ - uses : ruby/setup-ruby@v1
58
+ with :
59
+ ruby-version : ${{ matrix.ruby }}
60
+ rubygems : latest
61
+ bundler : 2
62
+ bundler-cache : true
63
+
64
+ - run : bundle exec ruby -S rake test --trace
65
+
66
+ required-macos :
67
+ name : Ruby ${{ matrix.ruby }} - ${{ matrix.os }}
68
+
69
+ strategy :
70
+ fail-fast : false
71
+ matrix :
72
+ os :
73
+ - macos-12
74
+ - macos-13
75
+ - macos-14
76
+ ruby :
77
+ - ' 2.6'
78
+ - ' 2.7'
79
+ - ' 3.1'
80
+ - ' 3.2'
81
+ - ' 3.3'
82
+
83
+ runs-on : ${{ matrix.os }}
84
+
85
+ steps :
86
+ - uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
87
+ - uses : ruby/setup-ruby@v1
88
+ with :
89
+ ruby-version : ${{ matrix.ruby }}
90
+ rubygems : latest
91
+ bundler : 2
92
+ bundler-cache : true
93
+
94
+ - run : bundle exec ruby -S rake test --trace
95
+
96
+ required-windows :
97
+ name : Ruby ${{ matrix.ruby }} - ${{ matrix.os }}
98
+ strategy :
99
+ fail-fast : false
100
+ matrix :
101
+ os :
102
+ - windows-2019
103
+ - windows-2022
104
+ ruby :
105
+ - ' 2.6'
106
+ - ' 2.7'
107
+ - ' 3.0'
108
+ - ' 3.1'
109
+ - ' 3.2'
110
+ - ' 3.3'
111
+ - mswin
112
+ - ucrt
113
+ include :
114
+ - ruby : mingw
115
+ os : windows-2022
116
+
117
+ runs-on : ${{ matrix.os }}
54
118
55
119
steps :
56
- - uses : actions/checkout@v4
120
+ - uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
57
121
- uses : ruby/setup-ruby@v1
58
122
with :
59
123
ruby-version : ${{ matrix.ruby }}
@@ -63,5 +127,30 @@ jobs:
63
127
64
128
- run : bundle exec ruby -S rake test --trace
65
129
66
- - if : matrix.standardrb == true
67
- run : bundle exec standardrb
130
+ ruby-head-optional :
131
+ name : Ruby ${{ matrix.ruby }} - ${{ matrix.os }} (optional)
132
+
133
+ strategy :
134
+ fail-fast : false
135
+
136
+ matrix :
137
+ ruby :
138
+ - head
139
+ os :
140
+ - macos-latest
141
+ - ubuntu-latest
142
+ - windows-latest
143
+
144
+ continue-on-error : true
145
+ runs-on : ${{ matrix.os }}
146
+
147
+ steps :
148
+ - uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
149
+ - uses : ruby/setup-ruby@v1
150
+ with :
151
+ ruby-version : ${{ matrix.ruby }}
152
+ rubygems : latest
153
+ bundler : 2
154
+ bundler-cache : true
155
+
156
+ - run : bundle exec ruby -S rake test --trace
0 commit comments