Skip to content

Add riscv64 to CI build matrix #3545

@gounthar

Description

@gounthar

Mosquitto 2.1.2 builds and runs on riscv64 with no source changes needed.

Native riscv64 GitHub Actions runners are available through the RISE Project (ubuntu-24.04-riscv), so this can be added as a CI job alongside the existing build matrix at minimal cost.

Build evidence:

Validated on RISE native riscv64 runner (Scaleway EM-RV1):

Also validated on BananaPi F3 (SpacemiT K1, rv64gc, 8 cores @ 1.6 GHz):

  • Build time: 1m30s (wall), 9m CPU time
$ ./build/src/mosquitto --version
mosquitto version 2.1.2

$ file ./build/src/mosquitto
ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV),
dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1

Build dependencies on Ubuntu 24.04:
build-essential, cmake, libssl-dev, libcjson-dev, libsqlite3-dev, libargon2-dev, libreadline-dev, docbook-xsl, xsltproc, pkg-config

Configuration:

cmake .. -DCMAKE_BUILD_TYPE=Release -DWITH_TESTS=OFF
make -j$(nproc)

Related: #3224 (riscv64 snap, closed)

I can submit a PR adding the CI workflow if that would be helpful. I'd need to sign the ECA first.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Status: AvailableNo one has claimed responsibility for resolving this issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions