cloudflare / cloudflare/boringtun

All supported platforms should be built and tested in CI

Open
#470 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
7.2k
Forks
532
PR merge metrics
No merged PRs in 30d

Description

We presently declare the following support:

Target triple |Binary|Library|
------------------------------|:----:|------|
x86_64-unknown-linux-gnu | ✓ | ✓ |
aarch64-unknown-linux-gnu | ✓ | ✓ |
armv7-unknown-linux-gnueabihf | ✓ | ✓ |
x86_64-apple-darwin | ✓ | ✓ |
x86_64-pc-windows-msvc | | ✓ |
aarch64-apple-ios | | ✓ |
armv7-apple-ios | | ✓ |
armv7s-apple-ios | | ✓ |
aarch64-linux-android | | ✓ |
arm-linux-androideabi | | ✓ |

However, we only build and test on, afaict, `x86_64-unknown-linux-gnu`, `x86_64-pc-windows-msvc`, and `aarch64-apple-darwin` (which is notably not declared as supported!).

Unsurprisingly, the targets that don't get tested have rotted:
- #428 - android builds reportedly broken
- #450 and #460 - platforms lacking native 64 bit atomics have been broken for years
- #383 - notes lack of declared support for aarch64-apple-darwin (even though it's what we build in CI 🙃

Broadly:
- we should be building and testing at least one 32 bit target
- we should be building and testing android, if possible
- the support list should be pruned to things we can routinely test

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.