Skip to content

Commit 88241a0

Browse files
committed
Remove tracing and update test matrix.
1 parent d241e78 commit 88241a0

26 files changed

+395
-1356
lines changed

Diff for: .github/workflows/perform-release.yml

+74-44
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,22 @@
11
name: Release New Version
2+
description: |
3+
Releases a new version of Matcha.
4+
5+
This runs our test suite and typechecking matrices,
6+
and lints against our preferred versions of Elixir and OTP.
7+
8+
If successful, it executes `mix release` to publish a new version.
9+
10+
This action must be triggered manually.
11+
12+
NOTES:
13+
14+
- Our preferred versions are documented and read from the .tool-versions file,
15+
and should track the latest stable release of each tool.
16+
17+
- See the test matrix workflow for more about our test matrix setup.
18+
19+
- See the test release workflow for a dry-run equivalent of this action.
220
321
on:
422
workflow_dispatch:
@@ -8,9 +26,7 @@ on:
826
required: true
927

1028
env:
11-
preferred-elixir: "1.15.x"
12-
preferred-otp: "26.x"
13-
cache-version: 2
29+
cache-version: 9
1430
commit-author-name: ${{ secrets.ACTIONS_COMMIT_AUTHOR_NAME }}
1531
commit-author-email: ${{ secrets.ACTIONS_COMMIT_AUTHOR_EMAIL }}
1632
MIX_ENV: test
@@ -23,36 +39,43 @@ concurrency:
2339
jobs:
2440
tests:
2541
name: Testing Before Performing Release
26-
runs-on: ubuntu-20.04
42+
runs-on: ubuntu-22.04
2743

2844
continue-on-error: ${{ matrix.type == 'optional' }}
2945
strategy:
3046
matrix:
3147
elixir:
32-
- "1.12.x"
33-
- "1.13.x"
34-
- "1.14.x"
48+
- "1.15"
49+
- "1.16"
50+
- "1.17"
51+
- "1.18"
3552
otp:
36-
- "23.x"
37-
- "24.x"
53+
- "25"
54+
- "26"
3855
type: [required]
3956
include:
4057
# Additional version combinations we want to check
41-
# See: https://github.com/elixir-lang/elixir/blob/main/lib/elixir/pages/compatibility-and-deprecations.md#compatibility-between-elixir-and-erlangotp
42-
# Only Elixir > 1.12 supports OTP 25
43-
- elixir: "1.13.x"
44-
otp: "25.x"
58+
# Only Elixir >= 1.17 supports OTP 27
59+
- elixir: "1.17"
60+
otp: "27"
4561
type: required
46-
- elixir: "1.14.x"
47-
otp: "25.x"
62+
- elixir: "1.18"
63+
otp: "27"
4864
type: required
49-
# Only Elixir < 1.14 supports OTP 22
50-
- elixir: "1.12.x"
51-
otp: "22.x"
65+
# Only Elixir <= 1.16 supports OTP 24
66+
- elixir: "1.14"
67+
otp: "24"
5268
type: required
53-
- elixir: "1.13.x"
54-
otp: "22.x"
69+
- elixir: "1.15"
70+
otp: "24"
5571
type: required
72+
- elixir: "1.16"
73+
otp: "24"
74+
type: required
75+
# Only Elixir <= 1.14 supports OTP 23, but erlef/setub-beam no longer supports it
76+
- elixir: "1.14"
77+
otp: "23"
78+
type: optional
5679

5780
steps:
5881
- uses: actions/checkout@v4
@@ -93,36 +116,43 @@ jobs:
93116

94117
types:
95118
name: Typechecking Before Performing Release
96-
runs-on: ubuntu-20.04
119+
runs-on: ubuntu-22.04
97120

98121
continue-on-error: ${{ matrix.type == 'optional' }}
99122
strategy:
100123
matrix:
101124
elixir:
102-
- "1.12.x"
103-
- "1.13.x"
104-
- "1.14.x"
125+
- "1.15"
126+
- "1.16"
127+
- "1.17"
128+
- "1.18"
105129
otp:
106-
- "23.x"
107-
- "24.x"
130+
- "25"
131+
- "26"
108132
type: [required]
109133
include:
110134
# Additional version combinations we want to check
111-
# See: https://github.com/elixir-lang/elixir/blob/main/lib/elixir/pages/compatibility-and-deprecations.md#compatibility-between-elixir-and-erlangotp
112-
# Only Elixir > 1.12 supports OTP 25
113-
- elixir: "1.13.x"
114-
otp: "25.x"
135+
# Only Elixir >= 1.17 supports OTP 27
136+
- elixir: "1.17"
137+
otp: "27"
138+
type: required
139+
- elixir: "1.18"
140+
otp: "27"
115141
type: required
116-
- elixir: "1.14.x"
117-
otp: "25.x"
142+
# Only Elixir <= 1.16 supports OTP 24
143+
- elixir: "1.14"
144+
otp: "24"
118145
type: required
119-
# Only Elixir < 1.14 supports OTP 22
120-
- elixir: "1.12.x"
121-
otp: "22.x"
146+
- elixir: "1.15"
147+
otp: "24"
122148
type: required
123-
- elixir: "1.13.x"
124-
otp: "22.x"
149+
- elixir: "1.16"
150+
otp: "24"
125151
type: required
152+
# Only Elixir <= 1.14 supports OTP 23, but erlef/setub-beam no longer supports it
153+
- elixir: "1.14"
154+
otp: "23"
155+
type: optional
126156

127157
steps:
128158
- uses: actions/checkout@v4
@@ -174,7 +204,7 @@ jobs:
174204

175205
lints:
176206
name: Linting Before Performing Release
177-
runs-on: ubuntu-20.04
207+
runs-on: ubuntu-22.04
178208

179209
steps:
180210
- uses: actions/checkout@v4
@@ -185,8 +215,8 @@ jobs:
185215
id: beam-versions
186216
uses: erlef/setup-beam@v1
187217
with:
188-
elixir-version: ${{ env.preferred-elixir }}
189-
otp-version: ${{ env.preferred-otp }}
218+
version-file: ".tool-versions"
219+
version-type: "strict"
190220

191221
- name: Restore mix dependency installation cache
192222
id: mix-deps-get-cache
@@ -216,7 +246,7 @@ jobs:
216246

217247
perform-release:
218248
name: Performing Release
219-
runs-on: ubuntu-20.04
249+
runs-on: ubuntu-22.04
220250

221251
needs:
222252
- tests
@@ -233,8 +263,8 @@ jobs:
233263
id: beam-versions
234264
uses: erlef/setup-beam@v1
235265
with:
236-
elixir-version: ${{ env.preferred-elixir }}
237-
otp-version: ${{ env.preferred-otp }}
266+
version-file: ".tool-versions"
267+
version-type: "strict"
238268

239269
- name: Restore Mix Cache
240270
id: mix-cache
@@ -276,7 +306,7 @@ jobs:
276306
277307
results:
278308
name: Perform Release Results
279-
runs-on: ubuntu-20.04
309+
runs-on: ubuntu-22.04
280310

281311
if: ${{ always() }}
282312
needs:

Diff for: .github/workflows/publish-static-pages.yml

+31-25
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
11
name: Publish Static Pages
2+
description: |
3+
Publishes a preview of benchmarks, code coverage results, and docs using our preferred versions of Elixir and Erlang.
4+
5+
This action runs on all commits to the `latest` branch, and can be triggered manually.
6+
7+
NOTES:
8+
9+
- Our preferred versions are documented and read from the .tool-versions file,
10+
and should track the latest stable release of each tool.
11+
12+
- See the test matrix workflow for more comprehensive testing against all supported versions of our tools.
213
314
env:
4-
preferred-elixir: "1.15.x"
5-
preferred-otp: "26.x"
6-
cache-version: 1
15+
cache-version: 9
716
MIX_ENV: test
817

918
on:
@@ -27,9 +36,8 @@ jobs:
2736

2837
environment:
2938
name: github-pages
30-
url: ${{ steps.deployment.outputs.page_url }}
3139

32-
runs-on: ubuntu-20.04
40+
runs-on: ubuntu-22.04
3341

3442
steps:
3543
- uses: actions/checkout@v4
@@ -38,8 +46,8 @@ jobs:
3846
id: beam-versions
3947
uses: erlef/setup-beam@v1
4048
with:
41-
elixir-version: ${{ env.preferred-elixir }}
42-
otp-version: ${{ env.preferred-otp }}
49+
version-file: ".tool-versions"
50+
version-type: "strict"
4351

4452
- name: Restore mix dependency installation cache
4553
id: mix-deps-get-cache
@@ -67,7 +75,7 @@ jobs:
6775
run: mix benchmarks
6876

6977
- name: Store benchmark reports
70-
uses: actions/upload-artifact@v3
78+
uses: actions/upload-artifact@v4
7179
with:
7280
name: bench
7381
path: bench
@@ -77,9 +85,8 @@ jobs:
7785

7886
environment:
7987
name: github-pages
80-
url: ${{ steps.deployment.outputs.page_url }}
8188

82-
runs-on: ubuntu-20.04
89+
runs-on: ubuntu-22.04
8390

8491
steps:
8592
- uses: actions/checkout@v4
@@ -88,8 +95,8 @@ jobs:
8895
id: beam-versions
8996
uses: erlef/setup-beam@v1
9097
with:
91-
elixir-version: ${{ env.preferred-elixir }}
92-
otp-version: ${{ env.preferred-otp }}
98+
version-file: ".tool-versions"
99+
version-type: "strict"
93100

94101
- name: Restore mix dependency installation cache
95102
id: mix-deps-get-cache
@@ -117,7 +124,7 @@ jobs:
117124
run: mix coverage
118125

119126
- name: Store coverage reports
120-
uses: actions/upload-artifact@v3
127+
uses: actions/upload-artifact@v4
121128
with:
122129
name: cover
123130
path: cover
@@ -127,9 +134,8 @@ jobs:
127134

128135
environment:
129136
name: github-pages
130-
url: ${{ steps.deployment.outputs.page_url }}
131137

132-
runs-on: ubuntu-20.04
138+
runs-on: ubuntu-22.04
133139

134140
steps:
135141
- uses: actions/checkout@v4
@@ -138,8 +144,8 @@ jobs:
138144
id: beam-versions
139145
uses: erlef/setup-beam@v1
140146
with:
141-
elixir-version: ${{ env.preferred-elixir }}
142-
otp-version: ${{ env.preferred-otp }}
147+
version-file: ".tool-versions"
148+
version-type: "strict"
143149

144150
- name: Restore mix dependency installation cache
145151
id: mix-deps-get-cache
@@ -167,7 +173,7 @@ jobs:
167173
run: mix docs
168174

169175
- name: Store generated docs
170-
uses: actions/upload-artifact@v3
176+
uses: actions/upload-artifact@v4
171177
with:
172178
name: doc
173179
path: doc
@@ -179,7 +185,7 @@ jobs:
179185
name: github-pages
180186
url: ${{ steps.deployment.outputs.page_url }}
181187

182-
runs-on: ubuntu-20.04
188+
runs-on: ubuntu-22.04
183189

184190
needs:
185191
- benchmarks
@@ -193,8 +199,8 @@ jobs:
193199
id: beam-versions
194200
uses: erlef/setup-beam@v1
195201
with:
196-
elixir-version: ${{ env.preferred-elixir }}
197-
otp-version: ${{ env.preferred-otp }}
202+
version-file: ".tool-versions"
203+
version-type: "strict"
198204

199205
- name: Restore mix dependency installation cache
200206
id: mix-deps-get-cache
@@ -219,7 +225,7 @@ jobs:
219225
run: mix deps.compile
220226

221227
- name: Fetch generated pages
222-
uses: actions/download-artifact@v3
228+
uses: actions/download-artifact@v4
223229

224230
- name: Collect static files
225231
run: mix static.collect
@@ -228,17 +234,17 @@ jobs:
228234
uses: actions/configure-pages@v2
229235

230236
- name: Upload static artifacts to Github Pages
231-
uses: actions/upload-pages-artifact@v1
237+
uses: actions/upload-pages-artifact@v3
232238
with:
233239
path: "./static"
234240

235241
- name: Deploy artifact to GitHub Pages
236242
id: deployment
237-
uses: actions/deploy-pages@v1
243+
uses: actions/deploy-pages@v4
238244

239245
results:
240246
name: Publish Static Page Action Results
241-
runs-on: ubuntu-20.04
247+
runs-on: ubuntu-22.04
242248

243249
if: ${{ always() }}
244250
needs:

0 commit comments

Comments
 (0)