Skip to content

Commit

Permalink
Add support for RP2350 (including Raspberry Pi Pico 2 board)
Browse files Browse the repository at this point in the history
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 <[email protected]>
  • Loading branch information
pguyot committed Nov 11, 2024
1 parent 24084c5 commit 553af79
Show file tree
Hide file tree
Showing 55 changed files with 331 additions and 337 deletions.
24 changes: 19 additions & 5 deletions .github/workflows/build-and-test-macos.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ on:
paths-ignore:
- 'src/platforms/emscripten/**'
- 'src/platforms/esp32/**'
- 'src/platforms/rp2040/**'
- 'src/platforms/rp2/**'
- 'src/platforms/stm32/**'
- 'doc/**'
- 'LICENSES/**'
Expand All @@ -21,7 +21,7 @@ on:
paths-ignore:
- 'src/platforms/emscripten/**'
- 'src/platforms/esp32/**'
- 'src/platforms/rp2040/**'
- 'src/platforms/rp2/**'
- 'src/platforms/stm32/**'
- 'doc/**'
- 'LICENSES/**'
Expand All @@ -37,8 +37,8 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: ["macos-13", "macos-14"]
otp: ["24", "25", "26"]
os: ["macos-12", "macos-13", "macos-14", "macos-15"]
otp: ["24", "25", "26", "27"]

steps:
# Setup
Expand All @@ -48,7 +48,21 @@ jobs:
submodules: 'recursive'

- name: "Install deps"
run: HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1 brew install gperf doxygen erlang@${{ matrix.otp }} ninja mbedtls
if: matrix.otp != '24'
run: HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1 brew install gperf doxygen erlang@${{ matrix.otp }} ninja mbedtls rebar3

- name: "Install deps"
if: matrix.otp == '24'
run: |
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1 brew install gperf doxygen erlang@${{ matrix.otp }} ninja mbedtls
wget https://github.com/erlang/rebar3/releases/download/3.23.0/rebar3
chmod +x rebar3
if [ -e /usr/local/opt/erlang@24/bin/ ] ; then
sudo cp rebar3 /usr/local/opt/erlang@24/bin/
fi
if [ -e /opt/homebrew/opt/erlang@24/bin/ ] ; then
sudo cp rebar3 /opt/homebrew/opt/erlang@24/bin/
fi
# Builder info
- name: "System info"
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build-and-test-on-freebsd.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ on:
paths-ignore:
- 'src/platforms/emscripten/**'
- 'src/platforms/esp32/**'
- 'src/platforms/rp2040/**'
- 'src/platforms/rp2/**'
- 'src/platforms/stm32/**'
- 'doc/**'
- 'LICENSES/**'
Expand All @@ -21,7 +21,7 @@ on:
paths-ignore:
- 'src/platforms/emscripten/**'
- 'src/platforms/esp32/**'
- 'src/platforms/rp2040/**'
- 'src/platforms/rp2/**'
- 'src/platforms/stm32/**'
- 'doc/**'
- 'LICENSES/**'
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build-and-test-other.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ on:
paths-ignore:
- 'src/platforms/emscripten/**'
- 'src/platforms/esp32/**'
- 'src/platforms/rp2040/**'
- 'src/platforms/rp2/**'
- 'src/platforms/stm32/**'
- 'doc/**'
- 'LICENSES/**'
Expand All @@ -21,7 +21,7 @@ on:
paths-ignore:
- 'src/platforms/emscripten/**'
- 'src/platforms/esp32/**'
- 'src/platforms/rp2040/**'
- 'src/platforms/rp2/**'
- 'src/platforms/stm32/**'
- 'doc/**'
- 'LICENSES/**'
Expand Down
56 changes: 46 additions & 10 deletions .github/workflows/build-and-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ on:
paths-ignore:
- 'src/platforms/emscripten/**'
- 'src/platforms/esp32/**'
- 'src/platforms/rp2040/**'
- 'src/platforms/rp2/**'
- 'src/platforms/stm32/**'
- 'doc/**'
- 'LICENSES/**'
Expand All @@ -21,7 +21,7 @@ on:
paths-ignore:
- 'src/platforms/emscripten/**'
- 'src/platforms/esp32/**'
- 'src/platforms/rp2040/**'
- 'src/platforms/rp2/**'
- 'src/platforms/stm32/**'
- 'doc/**'
- 'LICENSES/**'
Expand Down Expand Up @@ -58,11 +58,15 @@ jobs:
compiler_pkgs: "gcc-7 g++-7"
os: "ubuntu-20.04"
otp: "27"
elixir_version: "1.17"
rebar3_version: "3.24.0"
- cc: "gcc-8"
cxx: "g++-8"
compiler_pkgs: "gcc-8 g++-8"
os: "ubuntu-20.04"
otp: "27"
elixir_version: "1.17"
rebar3_version: "3.24.0"
- cc: "gcc-9"
cxx: "g++-9"
compiler_pkgs: "gcc-9 g++-9"
Expand All @@ -75,6 +79,8 @@ jobs:
cmake_opts_other: "-DAVM_WARNINGS_ARE_ERRORS=ON"
os: "ubuntu-22.04"
otp: "27"
elixir_version: "1.17"
rebar3_version: "3.24.0"
- cc: "gcc-11"
cxx: "g++-11"
compiler_pkgs: "gcc-11 g++-11"
Expand All @@ -89,6 +95,8 @@ jobs:
cmake_opts_other: "-DAVM_WARNINGS_ARE_ERRORS=ON"
os: "ubuntu-24.04"
otp: "27"
elixir_version: "1.17"
rebar3_version: "3.24.0"
- cc: "gcc-13"
cxx: "g++-13"
compiler_pkgs: "gcc-13 g++-13"
Expand All @@ -103,6 +111,8 @@ jobs:
cmake_opts_other: "-DAVM_WARNINGS_ARE_ERRORS=ON"
os: "ubuntu-24.04"
otp: "27"
elixir_version: "1.17"
rebar3_version: "3.24.0"

- cc: "clang-10"
cxx: "clang++-10"
Expand All @@ -116,18 +126,24 @@ jobs:
cmake_opts_other: "-DAVM_WARNINGS_ARE_ERRORS=ON"
os: "ubuntu-20.04"
otp: "27"
elixir_version: "1.17"
rebar3_version: "3.24.0"
- cc: "clang-12"
cxx: "clang++-12"
compiler_pkgs: "clang-12"
cmake_opts_other: "-DAVM_WARNINGS_ARE_ERRORS=ON"
os: "ubuntu-22.04"
otp: "27"
elixir_version: "1.17"
rebar3_version: "3.24.0"
- cc: "clang-13"
cxx: "clang++-13"
compiler_pkgs: "clang-13"
cmake_opts_other: "-DAVM_WARNINGS_ARE_ERRORS=ON"
os: "ubuntu-22.04"
otp: "27"
elixir_version: "1.17"
rebar3_version: "3.24.0"
- cc: "clang-14"
cxx: "clang++-14"
compiler_pkgs: "clang-14"
Expand All @@ -140,18 +156,24 @@ jobs:
cmake_opts_other: "-DAVM_WARNINGS_ARE_ERRORS=ON"
os: "ubuntu-24.04"
otp: "27"
elixir_version: "1.17"
rebar3_version: "3.24.0"
- cc: "clang-16"
cxx: "clang++-16"
compiler_pkgs: "clang-16"
cmake_opts_other: "-DAVM_WARNINGS_ARE_ERRORS=ON"
os: "ubuntu-24.04"
otp: "27"
elixir_version: "1.17"
rebar3_version: "3.24.0"
- cc: "clang-17"
cxx: "clang++-17"
compiler_pkgs: "clang-17"
cmake_opts_other: "-DAVM_WARNINGS_ARE_ERRORS=ON"
os: "ubuntu-24.04"
otp: "27"
elixir_version: "1.17"
rebar3_version: "3.24.0"
- cc: "clang-18"
cxx: "clang++-18"
compiler_pkgs: "clang-18"
Expand All @@ -161,41 +183,48 @@ jobs:

- otp: "25"
elixir_version: "1.14"
rebar3_version: "3.24.0"

- otp: "26"
elixir_version: "1.17"
rebar3_version: "3.24.0"

- otp: "27"
elixir_version: "1.17"
rebar3_version: "3.24.0"

# Old versions of OTP/Elixir
- os: "ubuntu-20.04"
cc: "cc"
cxx: "c++"
otp: "21"
cflags: ""
otp: "21"
elixir_version: "1.7"
rebar3_version: "3.15.2"

- os: "ubuntu-20.04"
cc: "cc"
cxx: "c++"
otp: "22"
cflags: ""
otp: "22"
elixir_version: "1.8"
rebar3_version: "3.18.0"

- os: "ubuntu-20.04"
cc: "cc"
cxx: "c++"
otp: "23"
cflags: ""
otp: "23"
elixir_version: "1.11"
rebar3_version: "3.20.0"

- os: "ubuntu-22.04"
cc: "cc"
cxx: "c++"
otp: "24"
cflags: ""
otp: "24"
elixir_version: "1.14"
rebar3_version: "3.23.0"

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

# Additional default compiler builds
- os: "ubuntu-20.04"
cc: "cc"
cxx: "c++"
otp: "27"
cflags: ""
otp: "27"
elixir_version: "1.17"
rebar3_version: "3.24.0"

- os: "ubuntu-22.04"
cc: "cc"
cxx: "c++"
otp: "27"
cflags: ""
otp: "27"
elixir_version: "1.17"
rebar3_version: "3.24.0"

# Additional latest & -Os compiler builds
- os: "ubuntu-24.04"
cc: "gcc-14"
cxx: "g++-14"
otp: "27"
cflags: "-Os"
otp: "27"
elixir_version: "1.17"
rebar3_version: "3.24.0"
compiler_pkgs: "gcc-14 g++-14"

- os: "ubuntu-24.04"
cc: "clang-18"
cxx: "clang++-18"
otp: "27"
cflags: "-Os"
otp: "27"
elixir_version: "1.17"
rebar3_version: "3.24.0"
compiler_pkgs: "clang-18"

# Additional 32 bits build
Expand All @@ -245,6 +279,7 @@ jobs:
cflags: "-m32 -O3"
otp: "23"
elixir_version: "1.11"
rebar3_version: "3.20.0"
# Use Werror so we get an error with 32 bit specific warnings
cmake_opts_other: "-DAVM_CREATE_STACKTRACES=off -DAVM_WARNINGS_ARE_ERRORS=ON"
arch: "i386"
Expand All @@ -268,6 +303,7 @@ jobs:
with:
otp-version: ${{ matrix.otp }}
elixir-version: ${{ matrix.elixir_version }}
rebar3-version: ${{ matrix.rebar3_version }}
hexpm-mirrors: |
https://builds.hex.pm
https://repo.hex.pm
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/codeql-analysis.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ on:
paths-ignore:
- 'src/platforms/emscripten/**'
- 'src/platforms/esp32/**'
- 'src/platforms/rp2040/**'
- 'src/platforms/rp2/**'
- 'src/platforms/stm32/**'
- 'libs/**'
- 'doc/**'
Expand All @@ -22,7 +22,7 @@ on:
paths-ignore:
- 'src/platforms/emscripten/**'
- 'src/platforms/esp32/**'
- 'src/platforms/rp2040/**'
- 'src/platforms/rp2/**'
- 'src/platforms/stm32/**'
- 'libs/**'
- 'doc/**'
Expand Down Expand Up @@ -55,7 +55,7 @@ jobs:
run: sudo apt update -y

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

- name: "Checkout repository"
uses: actions/checkout@v4
Expand Down
Loading

0 comments on commit 553af79

Please sign in to comment.