Skip to content

Commit ed0f7d7

Browse files
committed
simplify ci
1 parent cc0f955 commit ed0f7d7

File tree

1 file changed

+47
-72
lines changed

1 file changed

+47
-72
lines changed

.github/workflows/ci.yml

Lines changed: 47 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,25 @@ on:
99
- master
1010

1111
jobs:
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:
@@ -51,6 +63,18 @@ jobs:
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:
@@ -80,7 +104,7 @@ jobs:
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

Comments
 (0)