Skip to content

Commit 71212eb

Browse files
committed
Run OTP versions which rely on ancient OpenSSL versions in container
GitHub retired the `ubuntu-20.04` runner image last month. These changes add a new job which runs the Elixir & OTP pairs which need that Ubuntu version in a container which uses the official Docker image instead. A sample error from the existing GitHub workflow job follows: ``` This is a scheduled Ubuntu 20.04 retirement. Ubuntu 20.04 LTS runner will be removed on 2025-04-15. For more details, see actions/runner-images#11101 ```
1 parent 4a8e6e0 commit 71212eb

File tree

1 file changed

+61
-51
lines changed

1 file changed

+61
-51
lines changed

.github/workflows/ci.yml

Lines changed: 61 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -15,59 +15,9 @@ jobs:
1515
fail-fast: false
1616
matrix:
1717
include:
18-
- elixir: 1.4.x
19-
otp: 20
20-
os: ubuntu-20.04
21-
gcc: gcc-10
22-
gpp: g++-10
23-
- elixir: 1.5.x
24-
otp: 20
25-
os: ubuntu-20.04
26-
gcc: gcc-10
27-
gpp: g++-10
28-
- elixir: 1.6.x
29-
otp: 20
30-
os: ubuntu-20.04
31-
gcc: gcc-10
32-
gpp: g++-10
33-
- elixir: 1.7.x
34-
otp: 20
35-
os: ubuntu-20.04
36-
gcc: gcc-10
37-
gpp: g++-10
38-
- elixir: 1.8.x
39-
otp: 20
40-
os: ubuntu-20.04
41-
gcc: gcc-10
42-
gpp: g++-10
43-
- elixir: 1.9.x
44-
otp: 20
45-
os: ubuntu-20.04
46-
gcc: gcc-10
47-
gpp: g++-10
48-
- elixir: 1.10.x
49-
otp: 21
50-
os: ubuntu-20.04
51-
gcc: gcc-10
52-
gpp: g++-10
53-
- elixir: 1.11.x
54-
otp: 22
55-
os: ubuntu-20.04
56-
gcc: gcc-10
57-
gpp: g++-10
58-
- elixir: 1.11.x
59-
otp: 23
60-
os: ubuntu-20.04
61-
gcc: gcc-10
62-
gpp: g++-10
63-
- elixir: 1.12.x
64-
otp: 23
65-
os: ubuntu-20.04
66-
gcc: gcc-10
67-
gpp: g++-10
6818
- elixir: 1.13.x
6919
otp: 24
70-
os: ubuntu-20.04
20+
os: ubuntu-22.04
7121
gcc: gcc-10
7222
gpp: g++-10
7323
- elixir: 1.14.x
@@ -126,6 +76,66 @@ jobs:
12676
env:
12777
CC: ${{matrix.gcc}}
12878
CXX: ${{matrix.gpp}}
79+
mix_test_even_older:
80+
name: mix test (Elixir ${{matrix.elixir}} | OTP ${{matrix.otp}})
81+
runs-on: ubuntu-latest
82+
container:
83+
image: ubuntu:focal-20250404
84+
env:
85+
ImageOS: ubuntu20
86+
MIX_ENV: test
87+
strategy:
88+
fail-fast: false
89+
matrix:
90+
include:
91+
- elixir: 1.4.x
92+
otp: 20
93+
- elixir: 1.5.x
94+
otp: 20
95+
- elixir: 1.6.x
96+
otp: 20
97+
- elixir: 1.7.x
98+
otp: 20
99+
- elixir: 1.8.x
100+
otp: 20
101+
- elixir: 1.9.x
102+
otp: 20
103+
- elixir: 1.10.x
104+
otp: 21
105+
- elixir: 1.11.x
106+
otp: 22
107+
- elixir: 1.11.x
108+
otp: 23
109+
- elixir: 1.12.x
110+
otp: 23
111+
steps:
112+
# Needed by erlef/setup-beam action
113+
- run: |
114+
apt update -qqy
115+
apt install -qqy build-essential libssl-dev unzip
116+
- uses: actions/checkout@v2
117+
- uses: erlef/setup-beam@v1
118+
with:
119+
otp-version: ${{matrix.otp}}
120+
elixir-version: ${{matrix.elixir}}
121+
- name: Install Dependencies
122+
run: |
123+
mix local.hex --force
124+
mix local.rebar --force
125+
mix deps.get --only test
126+
- name: Cache build artifacts
127+
uses: actions/cache@v3
128+
with:
129+
path: |
130+
~/.hex
131+
~/.mix
132+
_build
133+
key: ${{ matrix.otp }}-${{ matrix.elixir }}-build
134+
- run: mix compile
135+
env:
136+
CC: gcc-9
137+
CXX: g++-9
138+
- run: mix test
129139
dialyzer:
130140
name: mix dialyzer
131141
runs-on: ubuntu-latest

0 commit comments

Comments
 (0)