35 Commits

Author SHA1 Message Date
Brian Smith
8348897d92 CI: Add wasm32-wasi to CI. 2023-10-14 16:50:18 -07:00
JanKaul
2019d8482f Add support for wasm32-wasi.
[The files changed in this commit were part of the original PR. The
original PR also changed other files, but those changes were removed.]
2023-10-14 16:50:18 -07:00
Brian Smith
99ab6db360 Add arm-unknown-linux-gnueabi testing to CI.
Replace arm-unknown-linux-gnueabihf in `test` since we already have
another gnueabihf target.
2023-10-13 17:45:30 -07:00
Brian Smith
00d639339a Add support for 64-bit big-endian PowerPC.
Not added to CI. We need to find a better solution for supporting PowerPC
(and s390x and other less-common archs) in CI.
2023-10-01 21:29:33 -07:00
ZHAI Xiaojuan
3d592b27bf Add support for LoongArch64 2023-10-01 18:43:17 -07:00
Brian Smith
6e82dd3c75 Add powerpc-unknown-linux-gnu support. 2023-10-01 18:25:37 -07:00
Ulrich Weigand
baa823bb4d Basic support for s390x target 2023-10-01 14:33:16 -07:00
Eric Richter
3161c01ec5 CI: add powerpc64le-unknown-linux-gnu as a target
Signed-off-by: Eric Richter <erichte@linux.ibm.com>
2023-09-30 17:18:58 -07:00
Brian Smith
e5908b9626 CI: Use riscv64-linux-gnu-gcc as RISC-V linker. 2023-09-30 11:46:06 -07:00
leso-kn
1e1e8e1ee6 Add support for riscv64
Co-authored-by: Alan Mock <alan@alanmock.com>
Co-authored-by: Patrick Elsen <pelsen@xfbs.net>
Signed-off-by: leso-kn <info@lesosoftware.com>
2023-09-30 11:46:06 -07:00
Brian Smith
4328252946 CI: Use LLVM 16 tools.
Rust now uses LLVM 16 and writes object files that LLVM 15's `nm` cannot
fully understand.
2023-09-03 15:32:26 -07:00
Brian Smith
95948b3977 CI: Install the latest (currently) version of the LTS NDK. 2023-02-16 13:10:43 -08:00
Brian Smith
54520a3652 Adjust MIPSEL CI build system changes.
Take MIPSEL out of the GitHub Actions configuration because it fails to
link, and because it makes the build matrix too large.
2022-11-11 16:57:21 -08:00
Linus Unnebäck
ce24e188e0 Add mipsel to Github Actions CI setup 2022-11-11 15:10:16 -08:00
Brian Smith
7d395fb62b CI: Use -Cinstrument-coverage 2022-11-03 14:47:14 -07:00
Brian Smith
a93fbbe8b3 CI: Use LLVM 15 so llvm-nm works in opaque pointer mode. 2022-10-19 23:49:17 -07:00
Brian Smith
32e007fc88 Use Android NDK 25 and work around Rust/Android incompatibilities.
Use Android NDK 25 since that's GitHub Actions is moving to. SDK level
is the minimum supported, and there are no longer target-specific
allases for `llvm-ar`; update cargo.sh accordingly.

Use the environment variables recommended by the Android documentation.

Work around compatibility issue with Rust and Android NDKs.

Remove out-of-date documentation aboud building for Android.
2022-10-19 23:49:17 -07:00
Brian Smith
8820c150ea Use LLVM 14 in CI/CD for coverage. 2022-02-20 17:51:04 -08:00
Brian Smith
e03cb68e53 CI/CD: Always use LLVM 12. 2021-04-29 16:37:41 -07:00
Brian Smith
05f0c91db5 CI: Increase wasm-bindgen-test timeout to 60s.
See if this prevents some of the wasm32 failures.
2021-02-26 16:27:01 -08:00
Brian Smith
ad612543ad CI/CD: Don't use self-contained linking during code coverage.
Work around a bug in the Rust toolchain.
2020-11-30 02:29:54 -08:00
Brian Smith
e775fedb53 CI/CD: Use self-contained linking for all -musl targets. 2020-11-30 02:29:54 -08:00
Brian Smith
c4c6899cc5 CI/CD: Use LLVM-11 for code coverage. 2020-11-30 00:26:42 -08:00
Brian Smith
08c5854363 CI/CD: Separate coverage reports per test executable. 2020-11-25 16:29:43 -08:00
Brian Smith
af08a2fff9 CI/CD: Add aarch64-unknown-linux-gnu test code coverage.
aarch64-unknown-linux-musl doesn't have profiler_builtins enabled so
use aarch64-unknown-linux-gnu instead.

Work around an issue where the "%m" feature of the LLVM source-based code
coverage doesn't work within QEMU.
2020-11-25 16:29:43 -08:00
Brian Smith
6314cc7fff CI/CD: Gather code coverage.
Gather code review data to help guide the code review process. This is currently limited
to i686 and x86_64 Linux because these are the targets I could get working. More
investigation is needed to figure out how to collect coverage data for ARM targets.
2020-11-25 16:29:43 -08:00
Linus Unnebäck
db664fad58 CI/CD: Use qemu_* variables consistently in mk/cargo.sh. 2020-11-24 14:55:06 -08:00
Brian Smith
7bac725679 Allow cross-compiling to *-linux-musl (except x86_64) w/o a sysroot.
Avoid requiring a sysroot for *-linux-musl targets when using Clang.

Add one AAarch64 and one 32-bit ARM MUSL target to GitHub Actions.

Use Rust 1.48's `-Clink-self-contained=yes` in CI for musl targets.

Support the non-default variants of the *-musl targets.
2020-11-24 09:22:50 -08:00
Brian Smith
0b3cf2df06 CI/CD: When using Clang for non-Android targets, always use Clang 10.
It seems that on GitHub Actions Clang 6.0 is the default.
2020-11-23 23:05:51 -08:00
Brian Smith
09b6052a1c CI/CD: Don't put Android's tools in $PATH for non-Android targets.
Android has its own `clang`, `llvm-ar`, etc., and if they are in `$PATH` then
they might accidentally get used when it isn't intended for them to be used.

As part of this, reduce the environment variables that are set to (almost) only
the ones needed for the given target. An exception is wasm32-unknown-unknown,
which has its variables set even regardless of whether "wasm32_c" is used.
2020-11-23 23:05:51 -08:00
Brian Smith
ab27f3fe1c CI/CD: use the correct ar for each target. 2020-11-23 19:42:06 -08:00
Brian Smith
617cb54caa CI/CD: Fix typo in i686-unknown-linux-musl linker setting.
The linker wasn't getting overridden but things still worked because the system
linker works fine in this case.
2020-11-23 19:42:06 -08:00
Brian Smith
9ddb7667b3 CI/CD: Group entries in mk/cargo.sh correctly.
The blank lines were not in the right place to group the related
variables sensibly. Fix that.
2020-11-23 19:42:06 -08:00
Brian Smith
d12e36fec5 Move wasm32-unknown-unknown support to cargo.sh.
Make it easier to build and test the wasm32-unknown-unknown target locally.
2020-11-17 08:17:16 -08:00
Brian Smith
fbe6562c22 Build: Make it easier to run the same configuration locally that is used in CI. 2020-11-13 12:46:38 -08:00