9
9
- master
10
10
11
11
jobs :
12
- # Quick smoke test with latest versions
12
+ # Quick smoke test with all supported Elixir versions on latest OTP
13
13
smoke_test_language_server :
14
14
name : Smoke test language server (Elixir ${{matrix.elixir}} | OTP ${{matrix.otp}})
15
15
runs-on : ubuntu-22.04
16
16
strategy :
17
17
matrix :
18
18
include :
19
+ - elixir : 1.14.x
20
+ otp : 26.x
21
+ tests_may_fail : false
22
+ - elixir : 1.15.x
23
+ otp : 26.x
24
+ tests_may_fail : false
25
+ - elixir : 1.16.x
26
+ otp : 26.x
27
+ tests_may_fail : false
28
+ - elixir : 1.17.x
29
+ otp : 27.x
30
+ tests_may_fail : false
19
31
- elixir : 1.18.x
20
32
otp : 27.x
21
33
steps :
51
63
strategy :
52
64
matrix :
53
65
include :
66
+ - elixir : 1.14.x
67
+ otp : 26.x
68
+ tests_may_fail : false
69
+ - elixir : 1.15.x
70
+ otp : 26.x
71
+ tests_may_fail : false
72
+ - elixir : 1.16.x
73
+ otp : 26.x
74
+ tests_may_fail : false
75
+ - elixir : 1.17.x
76
+ otp : 27.x
77
+ tests_may_fail : false
54
78
- elixir : 1.18.x
55
79
otp : 27.x
56
80
steps :
80
104
cd apps/debug_adapter
81
105
mix test
82
106
83
- # Core compatibility matrix - test minimum, LTS, and latest versions
107
+ # Test on lowest supported OTP versions
84
108
compatibility_test :
85
109
name : Compatibility test (Elixir ${{matrix.elixir}} | OTP ${{matrix.otp}} | ${{matrix.os}})
86
110
runs-on : ${{matrix.os}}
@@ -90,18 +114,36 @@ jobs:
90
114
matrix :
91
115
include :
92
116
# Minimum supported versions
117
+ # No installer available for OTP 23.x on Ubuntu 22.04
93
118
- elixir : 1.14.x
94
119
otp : 24.x
95
120
os : ubuntu-22.04
96
121
- elixir : 1.14.x
122
+ otp : 23.x
123
+ os : windows-2022
124
+ - elixir : 1.15.x
125
+ otp : 24.x
126
+ os : ubuntu-22.04
127
+ - elixir : 1.15.x
97
128
otp : 24.x
98
129
os : windows-2022
99
- # Middle versions
100
130
- elixir : 1.16.x
101
- otp : 26 .x
131
+ otp : 24 .x
102
132
os : ubuntu-22.04
103
133
- elixir : 1.16.x
104
- otp : 26.x
134
+ otp : 24.x
135
+ os : windows-2022
136
+ - elixir : 1.17.x
137
+ otp : 25.x
138
+ os : ubuntu-22.04
139
+ - elixir : 1.17.x
140
+ otp : 25.x
141
+ os : windows-2022
142
+ - elixir : 1.18.x
143
+ otp : 25.x
144
+ os : ubuntu-22.04
145
+ - elixir : 1.18.x
146
+ otp : 25.x
105
147
os : windows-2022
106
148
# Latest versions
107
149
# covered by smoke_test
@@ -138,73 +180,6 @@ jobs:
138
180
mix deps.get --only test
139
181
- run : mix test
140
182
141
- # Comprehensive matrix - only run on master branch or when specifically requested
142
- comprehensive_test :
143
- name : Comprehensive test (Elixir ${{matrix.elixir}} | OTP ${{matrix.otp}})
144
- runs-on : ubuntu-22.04
145
- if : github.ref == 'refs/heads/master' || contains(github.event.pull_request.labels.*.name, 'comprehensive-tests')
146
- needs : compatibility_test
147
- strategy :
148
- fail-fast : false
149
- matrix :
150
- include :
151
- # covered by compatibility_test
152
- # - elixir: 1.14.x
153
- # otp: 24.x
154
- - elixir : 1.14.x
155
- otp : 25.x
156
- - elixir : 1.14.x
157
- otp : 26.x
158
- - elixir : 1.15.x
159
- otp : 24.x
160
- - elixir : 1.15.x
161
- otp : 25.x
162
- - elixir : 1.15.x
163
- otp : 26.x
164
- - elixir : 1.16.x
165
- otp : 24.x
166
- - elixir : 1.16.x
167
- otp : 25.x
168
- # covered by compatibility_test
169
- # - elixir: 1.16.x
170
- # otp: 26.x
171
- - elixir : 1.17.x
172
- otp : 25.x
173
- - elixir : 1.17.x
174
- otp : 26.x
175
- - elixir : 1.17.x
176
- otp : 27.x
177
- - elixir : 1.18.x
178
- otp : 25.x
179
- - elixir : 1.18.x
180
- otp : 26.x
181
- # covered by smoke_test
182
- # - elixir: 1.18.x
183
- # otp: 27.x
184
- env :
185
- MIX_ENV : test
186
- steps :
187
- - uses : actions/checkout@v4
188
- - uses : erlef/setup-beam@v1
189
- with :
190
- otp-version : ${{matrix.otp}}
191
- elixir-version : ${{matrix.elixir}}
192
- - name : Cache dependencies
193
- uses : actions/cache@v4
194
- with :
195
- path : |
196
- _build
197
- deps
198
- key : ${{ runner.os }}-mix-${{ matrix.elixir }}-${{ matrix.otp }}-${{ hashFiles('**/mix.lock') }}
199
- restore-keys : |
200
- ${{ runner.os }}-mix-${{ matrix.elixir }}-${{ matrix.otp }}-
201
- - name : Install Dependencies
202
- run : |
203
- mix local.hex --force
204
- mix local.rebar --force
205
- mix deps.get --only test
206
- - run : mix test
207
-
208
183
static_analysis :
209
184
name : Static analysis
210
185
runs-on : ubuntu-22.04
0 commit comments