1010
1111jobs :
1212 # 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}})
1515 runs-on : ubuntu-22.04
1616 strategy :
1717 matrix :
@@ -38,13 +38,53 @@ jobs:
3838 mix local.hex --force
3939 mix local.rebar --force
4040 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
4282
4383 # Core compatibility matrix - test minimum, LTS, and latest versions
4484 compatibility_test :
4585 name : Compatibility test (Elixir ${{matrix.elixir}} | OTP ${{matrix.otp}} | ${{matrix.os}})
4686 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
4888 strategy :
4989 fail-fast : false
5090 matrix :
@@ -64,9 +104,10 @@ jobs:
64104 otp : 26.x
65105 os : windows-2022
66106 # 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
70111 - elixir : 1.18.x
71112 otp : 27.x
72113 os : windows-2022
@@ -102,12 +143,14 @@ jobs:
102143 name : Comprehensive test (Elixir ${{matrix.elixir}} | OTP ${{matrix.otp}})
103144 runs-on : ubuntu-22.04
104145 if : github.ref == 'refs/heads/master' || contains(github.event.pull_request.labels.*.name, 'comprehensive-tests')
146+ needs : compatibility_test
105147 strategy :
106148 fail-fast : false
107149 matrix :
108150 include :
109- - elixir : 1.14.x
110- otp : 24.x
151+ # covered by compatibility_test
152+ # - elixir: 1.14.x
153+ # otp: 24.x
111154 - elixir : 1.14.x
112155 otp : 25.x
113156 - elixir : 1.14.x
@@ -122,8 +165,9 @@ jobs:
122165 otp : 24.x
123166 - elixir : 1.16.x
124167 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
127171 - elixir : 1.17.x
128172 otp : 25.x
129173 - elixir : 1.17.x
@@ -134,8 +178,9 @@ jobs:
134178 otp : 25.x
135179 - elixir : 1.18.x
136180 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
139184 env :
140185 MIX_ENV : test
141186 steps :
0 commit comments