Skip to content

Commit c1094fe

Browse files
authored
Merge pull request #727 from DougReeder/ubuntu-24
Updates Elixir, Erlang OTP, Alpine & GitOps
2 parents e97a169 + e80e02e commit c1094fe

File tree

3 files changed

+145
-9
lines changed

3 files changed

+145
-9
lines changed

.github/workflows/lint-and-test.yml

Lines changed: 141 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,107 @@ name: lint-and-test
33
on: [push, workflow_dispatch]
44

55
jobs:
6-
lint-and-test:
7-
runs-on: ubuntu-22.04
6+
test-current:
7+
strategy:
8+
fail-fast: false
9+
matrix:
10+
os:
11+
- 'ubuntu-22.04'
12+
- 'ubuntu-24.04'
13+
14+
runs-on: ${{ matrix.os }}
15+
16+
services:
17+
postgres:
18+
image: postgres:10
19+
env:
20+
POSTGRES_USER: admin
21+
POSTGRES_PASSWORD: admin
22+
options: >-
23+
--health-cmd pg_isready
24+
--health-interval 10s
25+
--health-timeout 5s
26+
--health-retries 5
27+
ports:
28+
- 5432:5432
29+
30+
steps:
31+
- uses: actions/checkout@v4
32+
33+
- uses: erlef/setup-beam@v1
34+
with:
35+
elixir-version: '1.16'
36+
otp-version: '25.3'
37+
38+
- uses: actions/cache@v4
39+
with:
40+
path: |
41+
deps
42+
_build
43+
key: mix-${{ hashFiles('mix.lock') }}
44+
45+
- run: mix local.hex --force
46+
- run: mix local.rebar --force
47+
- run: mix deps.get
48+
- run: mix compile # after fixing warnings, add --warnings-as-errors
49+
- run: mix test
50+
51+
52+
test-matrix:
53+
# if a matrix-job with newer versions passes, advance the current versions!
54+
continue-on-error: true
55+
56+
strategy:
57+
fail-fast: false
58+
matrix:
59+
versions:
60+
# - elixir: '1.14'
61+
# otp: '24.2'
62+
# - elixir: '1.14'
63+
# otp: '24.3'
64+
# - elixir: '1.14'
65+
# otp: '25.3'
66+
#
67+
# - elixir: '1.15'
68+
# otp: '24.3'
69+
# - elixir: '1.15'
70+
# otp: '25.3'
71+
# - elixir: '1.15'
72+
# otp: '26.2'
73+
74+
- elixir: '1.16'
75+
otp: '24.3'
76+
- elixir: '1.16'
77+
otp: '25.3'
78+
- elixir: '1.16'
79+
otp: '26.2'
80+
81+
- elixir: '1.17'
82+
otp: '25.3'
83+
- elixir: '1.17'
84+
otp: '26.2'
85+
- elixir: '1.17'
86+
otp: '27.3'
87+
88+
os:
89+
- 'ubuntu-22.04'
90+
- 'ubuntu-24.04'
91+
92+
exclude:
93+
- versions: # current
94+
elixir: '1.16'
95+
otp: '25.3'
96+
97+
# - versions: # not supported
98+
# elixir: '1.14'
99+
# otp: '24.2'
100+
# os: 'ubuntu-24.04'
101+
- versions: # not supported
102+
elixir: '1.16'
103+
otp: '24.3'
104+
os: 'ubuntu-22.04'
105+
106+
runs-on: ${{ matrix.os }}
8107

9108
services:
10109
postgres:
@@ -25,8 +124,8 @@ jobs:
25124

26125
- uses: erlef/setup-beam@v1
27126
with:
28-
otp-version: '24.2'
29-
elixir-version: '1.14'
127+
elixir-version: ${{ matrix.versions.elixir }}
128+
otp-version: ${{ matrix.versions.otp }}
30129

31130
- uses: actions/cache@v4
32131
with:
@@ -38,6 +137,43 @@ jobs:
38137
- run: mix local.hex --force
39138
- run: mix local.rebar --force
40139
- run: mix deps.get
41-
- run: mix compile --warnings-as-errors
140+
- run: mix compile # after fixing warnings, add --warnings-as-errors
42141
- run: mix test
142+
143+
144+
pseudo-lint:
145+
continue-on-error: true # TODO: use `mix format` & check in files, then set this false
146+
strategy:
147+
fail-fast: false
148+
matrix:
149+
versions:
150+
- elixir: '1.14'
151+
otp: '24.3'
152+
153+
- elixir: '1.15'
154+
otp: '24.3'
155+
156+
- elixir: '1.16'
157+
otp: '24.3'
158+
159+
- elixir: '1.17'
160+
otp: '25.3'
161+
162+
runs-on: 'ubuntu-24.04'
163+
164+
steps:
165+
- uses: actions/checkout@v4
166+
167+
- uses: erlef/setup-beam@v1
168+
with:
169+
elixir-version: ${{ matrix.versions.elixir }}
170+
otp-version: ${{ matrix.versions.otp }}
171+
172+
- uses: actions/cache@v4
173+
with:
174+
path: |
175+
deps
176+
_build
177+
key: mix-${{ hashFiles('mix.lock') }}
178+
43179
- run: mix format --check-formatted '{lib,priv,test,config}/**/*.{ex,exs}'

TurkeyDockerfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# syntax=docker/dockerfile:1
2-
ARG ALPINE_VERSION=3.16.2
3-
ARG ELIXIR_VERSION=1.14.3
4-
ARG ERLANG_VERSION=23.3.4.18
2+
ARG ALPINE_VERSION=3.21.3
3+
ARG ELIXIR_VERSION=1.16.3
4+
ARG ERLANG_VERSION=25.3.2.20
55

66
FROM hexpm/elixir:${ELIXIR_VERSION}-erlang-${ERLANG_VERSION}-alpine-${ALPINE_VERSION} AS base
77
RUN mix do local.hex --force, local.rebar --force

mix.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@
7979
"sleeplocks": {:hex, :sleeplocks, "1.1.1", "3d462a0639a6ef36cc75d6038b7393ae537ab394641beb59830a1b8271faeed3", [:rebar3], [], "hexpm", "84ee37aeff4d0d92b290fff986d6a95ac5eedf9b383fadfd1d88e9b84a1c02e1"},
8080
"slugger": {:hex, :slugger, "0.3.0", "efc667ab99eee19a48913ccf3d038b1fb9f165fa4fbf093be898b8099e61b6ed", [:mix], [], "hexpm", "20d0ded0e712605d1eae6c5b4889581c3460d92623a930ddda91e0e609b5afba"},
8181
"socket": {:hex, :socket, "0.3.13", "98a2ab20ce17f95fb512c5cadddba32b57273e0d2dba2d2e5f976c5969d0c632", [:mix], [], "hexpm", "f82ea9833ef49dde272e6568ab8aac657a636acb4cf44a7de8a935acb8957c2e"},
82-
"ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.6", "cf344f5692c82d2cd7554f5ec8fd961548d4fd09e7d22f5b62482e5aeaebd4b0", [:make, :mix, :rebar3], [], "hexpm", "bdb0d2471f453c88ff3908e7686f86f9be327d065cc1ec16fa4540197ea04680"},
82+
"ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.7", "354c321cf377240c7b8716899e182ce4890c5938111a1296add3ec74cf1715df", [:make, :mix, :rebar3], [], "hexpm", "fe4c190e8f37401d30167c8c405eda19469f34577987c76dde613e838bbc67f8"},
8383
"statix": {:hex, :statix, "1.4.0", "c822abd1e60e62828e8460e932515d0717aa3c089b44cc3f795d43b94570b3a8", [:mix], [], "hexpm", "507373cc80925a9b6856cb14ba17f6125552434314f6613c907d295a09d1a375"},
8484
"stream_data": {:git, "https://github.com/whatyouhide/stream_data.git", "c7ef8ef9c1fe78e6f404272c7129c4eac83db53c", [ref: "c7ef8ef"]},
8585
"telemetry": {:hex, :telemetry, "0.4.3", "a06428a514bdbc63293cd9a6263aad00ddeb66f608163bdec7c8995784080818", [:rebar3], [], "hexpm", "eb72b8365ffda5bed68a620d1da88525e326cb82a75ee61354fc24b844768041"},

0 commit comments

Comments
 (0)