Skip to content

Commit 5a13871

Browse files
committed
improve ci
1 parent c6b2076 commit 5a13871

File tree

1 file changed

+58
-13
lines changed

1 file changed

+58
-13
lines changed

.github/workflows/ci.yml

Lines changed: 58 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ on:
1010

1111
jobs:
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

Comments
 (0)