Skip to content

Commit 6b722d6

Browse files
committed
Add support for RP2350 (including Raspberry Pi Pico 2 board)
Also update OTP matrix for macOS to include OTP27 Also fix build test matrix to also install elixir & rebar3 in all cases. Signed-off-by: Paul Guyot <pguyot@kallisys.net>
1 parent 24084c5 commit 6b722d6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+333
-339
lines changed

.github/workflows/build-and-test-macos.yaml

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ on:
1111
paths-ignore:
1212
- 'src/platforms/emscripten/**'
1313
- 'src/platforms/esp32/**'
14-
- 'src/platforms/rp2040/**'
14+
- 'src/platforms/rp2/**'
1515
- 'src/platforms/stm32/**'
1616
- 'doc/**'
1717
- 'LICENSES/**'
@@ -21,7 +21,7 @@ on:
2121
paths-ignore:
2222
- 'src/platforms/emscripten/**'
2323
- 'src/platforms/esp32/**'
24-
- 'src/platforms/rp2040/**'
24+
- 'src/platforms/rp2/**'
2525
- 'src/platforms/stm32/**'
2626
- 'doc/**'
2727
- 'LICENSES/**'
@@ -37,8 +37,8 @@ jobs:
3737
runs-on: ${{ matrix.os }}
3838
strategy:
3939
matrix:
40-
os: ["macos-13", "macos-14"]
41-
otp: ["24", "25", "26"]
40+
os: ["macos-12", "macos-13", "macos-14", "macos-15"]
41+
otp: ["24", "25", "26", "27"]
4242

4343
steps:
4444
# Setup
@@ -48,7 +48,21 @@ jobs:
4848
submodules: 'recursive'
4949

5050
- name: "Install deps"
51-
run: HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1 brew install gperf doxygen erlang@${{ matrix.otp }} ninja mbedtls
51+
if: matrix.otp != '24'
52+
run: HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1 brew install gperf doxygen erlang@${{ matrix.otp }} ninja mbedtls rebar3
53+
54+
- name: "Install deps"
55+
if: matrix.otp == '24'
56+
run: |
57+
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1 brew install gperf doxygen erlang@${{ matrix.otp }} ninja mbedtls
58+
wget https://github.com/erlang/rebar3/releases/download/3.23.0/rebar3
59+
chmod +x rebar3
60+
if [ -e /usr/local/opt/erlang@24/bin/ ] ; then
61+
sudo cp rebar3 /usr/local/opt/erlang@24/bin/
62+
fi
63+
if [ -e /opt/homebrew/opt/erlang@24/bin/ ] ; then
64+
sudo cp rebar3 /opt/homebrew/opt/erlang@24/bin/
65+
fi
5266
5367
# Builder info
5468
- name: "System info"

.github/workflows/build-and-test-on-freebsd.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ on:
1111
paths-ignore:
1212
- 'src/platforms/emscripten/**'
1313
- 'src/platforms/esp32/**'
14-
- 'src/platforms/rp2040/**'
14+
- 'src/platforms/rp2/**'
1515
- 'src/platforms/stm32/**'
1616
- 'doc/**'
1717
- 'LICENSES/**'
@@ -21,7 +21,7 @@ on:
2121
paths-ignore:
2222
- 'src/platforms/emscripten/**'
2323
- 'src/platforms/esp32/**'
24-
- 'src/platforms/rp2040/**'
24+
- 'src/platforms/rp2/**'
2525
- 'src/platforms/stm32/**'
2626
- 'doc/**'
2727
- 'LICENSES/**'

.github/workflows/build-and-test-other.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ on:
1111
paths-ignore:
1212
- 'src/platforms/emscripten/**'
1313
- 'src/platforms/esp32/**'
14-
- 'src/platforms/rp2040/**'
14+
- 'src/platforms/rp2/**'
1515
- 'src/platforms/stm32/**'
1616
- 'doc/**'
1717
- 'LICENSES/**'
@@ -21,7 +21,7 @@ on:
2121
paths-ignore:
2222
- 'src/platforms/emscripten/**'
2323
- 'src/platforms/esp32/**'
24-
- 'src/platforms/rp2040/**'
24+
- 'src/platforms/rp2/**'
2525
- 'src/platforms/stm32/**'
2626
- 'doc/**'
2727
- 'LICENSES/**'

.github/workflows/build-and-test.yaml

Lines changed: 46 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ on:
1111
paths-ignore:
1212
- 'src/platforms/emscripten/**'
1313
- 'src/platforms/esp32/**'
14-
- 'src/platforms/rp2040/**'
14+
- 'src/platforms/rp2/**'
1515
- 'src/platforms/stm32/**'
1616
- 'doc/**'
1717
- 'LICENSES/**'
@@ -21,7 +21,7 @@ on:
2121
paths-ignore:
2222
- 'src/platforms/emscripten/**'
2323
- 'src/platforms/esp32/**'
24-
- 'src/platforms/rp2040/**'
24+
- 'src/platforms/rp2/**'
2525
- 'src/platforms/stm32/**'
2626
- 'doc/**'
2727
- 'LICENSES/**'
@@ -58,11 +58,15 @@ jobs:
5858
compiler_pkgs: "gcc-7 g++-7"
5959
os: "ubuntu-20.04"
6060
otp: "27"
61+
elixir_version: "1.17"
62+
rebar3_version: "3.24.0"
6163
- cc: "gcc-8"
6264
cxx: "g++-8"
6365
compiler_pkgs: "gcc-8 g++-8"
6466
os: "ubuntu-20.04"
6567
otp: "27"
68+
elixir_version: "1.17"
69+
rebar3_version: "3.24.0"
6670
- cc: "gcc-9"
6771
cxx: "g++-9"
6872
compiler_pkgs: "gcc-9 g++-9"
@@ -75,6 +79,8 @@ jobs:
7579
cmake_opts_other: "-DAVM_WARNINGS_ARE_ERRORS=ON"
7680
os: "ubuntu-22.04"
7781
otp: "27"
82+
elixir_version: "1.17"
83+
rebar3_version: "3.24.0"
7884
- cc: "gcc-11"
7985
cxx: "g++-11"
8086
compiler_pkgs: "gcc-11 g++-11"
@@ -89,6 +95,8 @@ jobs:
8995
cmake_opts_other: "-DAVM_WARNINGS_ARE_ERRORS=ON"
9096
os: "ubuntu-24.04"
9197
otp: "27"
98+
elixir_version: "1.17"
99+
rebar3_version: "3.24.0"
92100
- cc: "gcc-13"
93101
cxx: "g++-13"
94102
compiler_pkgs: "gcc-13 g++-13"
@@ -103,6 +111,8 @@ jobs:
103111
cmake_opts_other: "-DAVM_WARNINGS_ARE_ERRORS=ON"
104112
os: "ubuntu-24.04"
105113
otp: "27"
114+
elixir_version: "1.17"
115+
rebar3_version: "3.24.0"
106116

107117
- cc: "clang-10"
108118
cxx: "clang++-10"
@@ -116,18 +126,24 @@ jobs:
116126
cmake_opts_other: "-DAVM_WARNINGS_ARE_ERRORS=ON"
117127
os: "ubuntu-20.04"
118128
otp: "27"
129+
elixir_version: "1.17"
130+
rebar3_version: "3.24.0"
119131
- cc: "clang-12"
120132
cxx: "clang++-12"
121133
compiler_pkgs: "clang-12"
122134
cmake_opts_other: "-DAVM_WARNINGS_ARE_ERRORS=ON"
123135
os: "ubuntu-22.04"
124136
otp: "27"
137+
elixir_version: "1.17"
138+
rebar3_version: "3.24.0"
125139
- cc: "clang-13"
126140
cxx: "clang++-13"
127141
compiler_pkgs: "clang-13"
128142
cmake_opts_other: "-DAVM_WARNINGS_ARE_ERRORS=ON"
129143
os: "ubuntu-22.04"
130144
otp: "27"
145+
elixir_version: "1.17"
146+
rebar3_version: "3.24.0"
131147
- cc: "clang-14"
132148
cxx: "clang++-14"
133149
compiler_pkgs: "clang-14"
@@ -140,18 +156,24 @@ jobs:
140156
cmake_opts_other: "-DAVM_WARNINGS_ARE_ERRORS=ON"
141157
os: "ubuntu-24.04"
142158
otp: "27"
159+
elixir_version: "1.17"
160+
rebar3_version: "3.24.0"
143161
- cc: "clang-16"
144162
cxx: "clang++-16"
145163
compiler_pkgs: "clang-16"
146164
cmake_opts_other: "-DAVM_WARNINGS_ARE_ERRORS=ON"
147165
os: "ubuntu-24.04"
148166
otp: "27"
167+
elixir_version: "1.17"
168+
rebar3_version: "3.24.0"
149169
- cc: "clang-17"
150170
cxx: "clang++-17"
151171
compiler_pkgs: "clang-17"
152172
cmake_opts_other: "-DAVM_WARNINGS_ARE_ERRORS=ON"
153173
os: "ubuntu-24.04"
154174
otp: "27"
175+
elixir_version: "1.17"
176+
rebar3_version: "3.24.0"
155177
- cc: "clang-18"
156178
cxx: "clang++-18"
157179
compiler_pkgs: "clang-18"
@@ -161,41 +183,48 @@ jobs:
161183

162184
- otp: "25"
163185
elixir_version: "1.14"
186+
rebar3_version: "3.24.0"
164187

165188
- otp: "26"
166189
elixir_version: "1.17"
190+
rebar3_version: "3.24.0"
167191

168192
- otp: "27"
169193
elixir_version: "1.17"
194+
rebar3_version: "3.24.0"
170195

171196
# Old versions of OTP/Elixir
172197
- os: "ubuntu-20.04"
173198
cc: "cc"
174199
cxx: "c++"
175-
otp: "21"
176200
cflags: ""
201+
otp: "21"
177202
elixir_version: "1.7"
203+
rebar3_version: "3.15.2"
178204

179205
- os: "ubuntu-20.04"
180206
cc: "cc"
181207
cxx: "c++"
182-
otp: "22"
183208
cflags: ""
209+
otp: "22"
184210
elixir_version: "1.8"
211+
rebar3_version: "3.18.0"
185212

186213
- os: "ubuntu-20.04"
187214
cc: "cc"
188215
cxx: "c++"
189-
otp: "23"
190216
cflags: ""
217+
otp: "23"
191218
elixir_version: "1.11"
219+
rebar3_version: "3.20.0"
192220

193221
- os: "ubuntu-22.04"
194222
cc: "cc"
195223
cxx: "c++"
196-
otp: "24"
197224
cflags: ""
225+
otp: "24"
198226
elixir_version: "1.14"
227+
rebar3_version: "3.23.0"
199228

200229
# TODO: enable master again
201230
# master will not work until we don't adapt to atom table changes
@@ -205,37 +234,42 @@ jobs:
205234
# cxx: "c++"
206235
# otp: "master"
207236
# elixir_version: "main"
237+
# rebar3_version: "3.24.0"
208238

209239
# Additional default compiler builds
210240
- os: "ubuntu-20.04"
211241
cc: "cc"
212242
cxx: "c++"
213-
otp: "27"
214243
cflags: ""
244+
otp: "27"
215245
elixir_version: "1.17"
246+
rebar3_version: "3.24.0"
216247

217248
- os: "ubuntu-22.04"
218249
cc: "cc"
219250
cxx: "c++"
220-
otp: "27"
221251
cflags: ""
252+
otp: "27"
222253
elixir_version: "1.17"
254+
rebar3_version: "3.24.0"
223255

224256
# Additional latest & -Os compiler builds
225257
- os: "ubuntu-24.04"
226258
cc: "gcc-14"
227259
cxx: "g++-14"
228-
otp: "27"
229260
cflags: "-Os"
261+
otp: "27"
230262
elixir_version: "1.17"
263+
rebar3_version: "3.24.0"
231264
compiler_pkgs: "gcc-14 g++-14"
232265

233266
- os: "ubuntu-24.04"
234267
cc: "clang-18"
235268
cxx: "clang++-18"
236-
otp: "27"
237269
cflags: "-Os"
270+
otp: "27"
238271
elixir_version: "1.17"
272+
rebar3_version: "3.24.0"
239273
compiler_pkgs: "clang-18"
240274

241275
# Additional 32 bits build
@@ -245,6 +279,7 @@ jobs:
245279
cflags: "-m32 -O3"
246280
otp: "23"
247281
elixir_version: "1.11"
282+
rebar3_version: "3.20.0"
248283
# Use Werror so we get an error with 32 bit specific warnings
249284
cmake_opts_other: "-DAVM_CREATE_STACKTRACES=off -DAVM_WARNINGS_ARE_ERRORS=ON"
250285
arch: "i386"
@@ -268,6 +303,7 @@ jobs:
268303
with:
269304
otp-version: ${{ matrix.otp }}
270305
elixir-version: ${{ matrix.elixir_version }}
306+
rebar3-version: ${{ matrix.rebar3_version }}
271307
hexpm-mirrors: |
272308
https://builds.hex.pm
273309
https://repo.hex.pm

.github/workflows/codeql-analysis.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ on:
1111
paths-ignore:
1212
- 'src/platforms/emscripten/**'
1313
- 'src/platforms/esp32/**'
14-
- 'src/platforms/rp2040/**'
14+
- 'src/platforms/rp2/**'
1515
- 'src/platforms/stm32/**'
1616
- 'libs/**'
1717
- 'doc/**'
@@ -22,7 +22,7 @@ on:
2222
paths-ignore:
2323
- 'src/platforms/emscripten/**'
2424
- 'src/platforms/esp32/**'
25-
- 'src/platforms/rp2040/**'
25+
- 'src/platforms/rp2/**'
2626
- 'src/platforms/stm32/**'
2727
- 'libs/**'
2828
- 'doc/**'
@@ -55,7 +55,7 @@ jobs:
5555
run: sudo apt update -y
5656

5757
- name: "Install deps"
58-
run: sudo apt install -y cmake gperf zlib1g-dev ninja-build erlang
58+
run: sudo apt install -y cmake gperf zlib1g-dev ninja-build erlang rebar3
5959

6060
- name: "Checkout repository"
6161
uses: actions/checkout@v4

0 commit comments

Comments
 (0)