Skip to content

Commit 7b5d05e

Browse files
committed
Remove tracing and update test matrix.
1 parent d241e78 commit 7b5d05e

26 files changed

+399
-1358
lines changed

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

+75-45
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,22 @@
1-
name: Release New Version
1+
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 endeavor to 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

+34-26
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,20 @@
1-
name: Publish Static Pages
1+
name: Publish ❯ Static Pages
2+
description: |
3+
Publishes a preview of benchmarks, code coverage results, and docs https://matcha.chriskeele.com.
4+
5+
Uses our preferred versions of Elixir and Erlang.
6+
7+
This action runs on all commits to the `latest` branch, and can be triggered manually.
8+
9+
NOTES:
10+
11+
- Our preferred versions are documented and read from the .tool-versions file,
12+
and should endeavor to track the latest stable release of each tool.
13+
14+
- See the test matrix workflow for more comprehensive testing against all supported versions of our tools.
215
316
env:
4-
preferred-elixir: "1.15.x"
5-
preferred-otp: "26.x"
6-
cache-version: 1
17+
cache-version: 9
718
MIX_ENV: test
819

920
on:
@@ -27,9 +38,8 @@ jobs:
2738

2839
environment:
2940
name: github-pages
30-
url: ${{ steps.deployment.outputs.page_url }}
3141

32-
runs-on: ubuntu-20.04
42+
runs-on: ubuntu-22.04
3343

3444
steps:
3545
- uses: actions/checkout@v4
@@ -38,8 +48,8 @@ jobs:
3848
id: beam-versions
3949
uses: erlef/setup-beam@v1
4050
with:
41-
elixir-version: ${{ env.preferred-elixir }}
42-
otp-version: ${{ env.preferred-otp }}
51+
version-file: ".tool-versions"
52+
version-type: "strict"
4353

4454
- name: Restore mix dependency installation cache
4555
id: mix-deps-get-cache
@@ -67,7 +77,7 @@ jobs:
6777
run: mix benchmarks
6878

6979
- name: Store benchmark reports
70-
uses: actions/upload-artifact@v3
80+
uses: actions/upload-artifact@v4
7181
with:
7282
name: bench
7383
path: bench
@@ -77,9 +87,8 @@ jobs:
7787

7888
environment:
7989
name: github-pages
80-
url: ${{ steps.deployment.outputs.page_url }}
8190

82-
runs-on: ubuntu-20.04
91+
runs-on: ubuntu-22.04
8392

8493
steps:
8594
- uses: actions/checkout@v4
@@ -88,8 +97,8 @@ jobs:
8897
id: beam-versions
8998
uses: erlef/setup-beam@v1
9099
with:
91-
elixir-version: ${{ env.preferred-elixir }}
92-
otp-version: ${{ env.preferred-otp }}
100+
version-file: ".tool-versions"
101+
version-type: "strict"
93102

94103
- name: Restore mix dependency installation cache
95104
id: mix-deps-get-cache
@@ -117,7 +126,7 @@ jobs:
117126
run: mix coverage
118127

119128
- name: Store coverage reports
120-
uses: actions/upload-artifact@v3
129+
uses: actions/upload-artifact@v4
121130
with:
122131
name: cover
123132
path: cover
@@ -127,9 +136,8 @@ jobs:
127136

128137
environment:
129138
name: github-pages
130-
url: ${{ steps.deployment.outputs.page_url }}
131139

132-
runs-on: ubuntu-20.04
140+
runs-on: ubuntu-22.04
133141

134142
steps:
135143
- uses: actions/checkout@v4
@@ -138,8 +146,8 @@ jobs:
138146
id: beam-versions
139147
uses: erlef/setup-beam@v1
140148
with:
141-
elixir-version: ${{ env.preferred-elixir }}
142-
otp-version: ${{ env.preferred-otp }}
149+
version-file: ".tool-versions"
150+
version-type: "strict"
143151

144152
- name: Restore mix dependency installation cache
145153
id: mix-deps-get-cache
@@ -167,7 +175,7 @@ jobs:
167175
run: mix docs
168176

169177
- name: Store generated docs
170-
uses: actions/upload-artifact@v3
178+
uses: actions/upload-artifact@v4
171179
with:
172180
name: doc
173181
path: doc
@@ -179,7 +187,7 @@ jobs:
179187
name: github-pages
180188
url: ${{ steps.deployment.outputs.page_url }}
181189

182-
runs-on: ubuntu-20.04
190+
runs-on: ubuntu-22.04
183191

184192
needs:
185193
- benchmarks
@@ -193,8 +201,8 @@ jobs:
193201
id: beam-versions
194202
uses: erlef/setup-beam@v1
195203
with:
196-
elixir-version: ${{ env.preferred-elixir }}
197-
otp-version: ${{ env.preferred-otp }}
204+
version-file: ".tool-versions"
205+
version-type: "strict"
198206

199207
- name: Restore mix dependency installation cache
200208
id: mix-deps-get-cache
@@ -219,7 +227,7 @@ jobs:
219227
run: mix deps.compile
220228

221229
- name: Fetch generated pages
222-
uses: actions/download-artifact@v3
230+
uses: actions/download-artifact@v4
223231

224232
- name: Collect static files
225233
run: mix static.collect
@@ -228,17 +236,17 @@ jobs:
228236
uses: actions/configure-pages@v2
229237

230238
- name: Upload static artifacts to Github Pages
231-
uses: actions/upload-pages-artifact@v1
239+
uses: actions/upload-pages-artifact@v3
232240
with:
233241
path: "./static"
234242

235243
- name: Deploy artifact to GitHub Pages
236244
id: deployment
237-
uses: actions/deploy-pages@v1
245+
uses: actions/deploy-pages@v4
238246

239247
results:
240248
name: Publish Static Page Action Results
241-
runs-on: ubuntu-20.04
249+
runs-on: ubuntu-22.04
242250

243251
if: ${{ always() }}
244252
needs:

0 commit comments

Comments
 (0)