99 - master
1010
1111jobs :
12- # Quick smoke test with latest versions
12+ # Quick smoke test with all supported Elixir versions on latest OTP
1313 smoke_test_language_server :
1414 name : Smoke test language server (Elixir ${{matrix.elixir}} | OTP ${{matrix.otp}})
1515 runs-on : ubuntu-22.04
1616 strategy :
1717 matrix :
1818 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
1931 - elixir : 1.18.x
2032 otp : 27.x
2133 steps :
5163 strategy :
5264 matrix :
5365 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
5478 - elixir : 1.18.x
5579 otp : 27.x
5680 steps :
80104 cd apps/debug_adapter
81105 mix test
82106
83- # Core compatibility matrix - test minimum, LTS, and latest versions
107+ # Test on lowest supported OTP versions
84108 compatibility_test :
85109 name : Compatibility test (Elixir ${{matrix.elixir}} | OTP ${{matrix.otp}} | ${{matrix.os}})
86110 runs-on : ${{matrix.os}}
@@ -90,18 +114,36 @@ jobs:
90114 matrix :
91115 include :
92116 # Minimum supported versions
117+ # No installer available for OTP 23.x on Ubuntu 22.04
93118 - elixir : 1.14.x
94119 otp : 24.x
95120 os : ubuntu-22.04
96121 - 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
97128 otp : 24.x
98129 os : windows-2022
99- # Middle versions
100130 - elixir : 1.16.x
101- otp : 26 .x
131+ otp : 24 .x
102132 os : ubuntu-22.04
103133 - 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
105147 os : windows-2022
106148 # Latest versions
107149 # covered by smoke_test
@@ -138,73 +180,6 @@ jobs:
138180 mix deps.get --only test
139181 - run : mix test
140182
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-
208183 static_analysis :
209184 name : Static analysis
210185 runs-on : ubuntu-22.04
0 commit comments