10
10
11
11
jobs :
12
12
# Quick smoke test with latest versions
13
- smoke_test :
14
- name : Smoke test (Elixir ${{matrix.elixir}} | OTP ${{matrix.otp}})
13
+ smoke_test_language_server :
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 :
@@ -38,13 +38,53 @@ jobs:
38
38
mix local.hex --force
39
39
mix local.rebar --force
40
40
mix deps.get --only test
41
- - run : mix test
41
+ - run : |
42
+ cd apps/elixir_ls_utils
43
+ mix test
44
+ - run : |
45
+ cd apps/language_server
46
+ mix test
47
+
48
+ smoke_test_debug_adapter :
49
+ name : Smoke test debug adapter (Elixir ${{matrix.elixir}} | OTP ${{matrix.otp}})
50
+ runs-on : ubuntu-22.04
51
+ strategy :
52
+ matrix :
53
+ include :
54
+ - elixir : 1.18.x
55
+ otp : 27.x
56
+ steps :
57
+ - uses : actions/checkout@v4
58
+ - uses : erlef/setup-beam@v1
59
+ with :
60
+ otp-version : ${{matrix.otp}}
61
+ elixir-version : ${{matrix.elixir}}
62
+ - name : Cache dependencies
63
+ uses : actions/cache@v4
64
+ with :
65
+ path : |
66
+ _build
67
+ deps
68
+ key : ${{ runner.os }}-mix-${{ matrix.elixir }}-${{ matrix.otp }}-${{ hashFiles('**/mix.lock') }}
69
+ restore-keys : |
70
+ ${{ runner.os }}-mix-${{ matrix.elixir }}-${{ matrix.otp }}-
71
+ - name : Install Dependencies
72
+ run : |
73
+ mix local.hex --force
74
+ mix local.rebar --force
75
+ mix deps.get --only test
76
+ - run : |
77
+ cd apps/elixir_ls_utils
78
+ mix test
79
+ - run : |
80
+ cd apps/debug_adapter
81
+ mix test
42
82
43
83
# Core compatibility matrix - test minimum, LTS, and latest versions
44
84
compatibility_test :
45
85
name : Compatibility test (Elixir ${{matrix.elixir}} | OTP ${{matrix.otp}} | ${{matrix.os}})
46
86
runs-on : ${{matrix.os}}
47
- needs : smoke_test # Only run if smoke test passes
87
+ needs : [smoke_test_language_server, smoke_test_debug_adapter] # Only run if smoke test passes
48
88
strategy :
49
89
fail-fast : false
50
90
matrix :
@@ -64,9 +104,10 @@ jobs:
64
104
otp : 26.x
65
105
os : windows-2022
66
106
# Latest versions
67
- - elixir : 1.18.x
68
- otp : 27.x
69
- os : ubuntu-22.04
107
+ # covered by smoke_test
108
+ # - elixir: 1.18.x
109
+ # otp: 27.x
110
+ # os: ubuntu-22.04
70
111
- elixir : 1.18.x
71
112
otp : 27.x
72
113
os : windows-2022
@@ -102,12 +143,14 @@ jobs:
102
143
name : Comprehensive test (Elixir ${{matrix.elixir}} | OTP ${{matrix.otp}})
103
144
runs-on : ubuntu-22.04
104
145
if : github.ref == 'refs/heads/master' || contains(github.event.pull_request.labels.*.name, 'comprehensive-tests')
146
+ needs : compatibility_test
105
147
strategy :
106
148
fail-fast : false
107
149
matrix :
108
150
include :
109
- - elixir : 1.14.x
110
- otp : 24.x
151
+ # covered by compatibility_test
152
+ # - elixir: 1.14.x
153
+ # otp: 24.x
111
154
- elixir : 1.14.x
112
155
otp : 25.x
113
156
- elixir : 1.14.x
@@ -122,8 +165,9 @@ jobs:
122
165
otp : 24.x
123
166
- elixir : 1.16.x
124
167
otp : 25.x
125
- - elixir : 1.16.x
126
- otp : 26.x
168
+ # covered by compatibility_test
169
+ # - elixir: 1.16.x
170
+ # otp: 26.x
127
171
- elixir : 1.17.x
128
172
otp : 25.x
129
173
- elixir : 1.17.x
@@ -134,8 +178,9 @@ jobs:
134
178
otp : 25.x
135
179
- elixir : 1.18.x
136
180
otp : 26.x
137
- - elixir : 1.18.x
138
- otp : 27.x
181
+ # covered by smoke_test
182
+ # - elixir: 1.18.x
183
+ # otp: 27.x
139
184
env :
140
185
MIX_ENV : test
141
186
steps :
0 commit comments