Run tests for riscv64
This commit is contained in:
parent
2f74b68617
commit
04a3850317
10
.github/workflows/main.yml
vendored
10
.github/workflows/main.yml
vendored
@ -50,10 +50,12 @@ jobs:
|
||||
- os: ubuntu-latest
|
||||
env:
|
||||
TARGET_TRIPLE: aarch64-unknown-linux-gnu
|
||||
# s390x requires QEMU 6.1 or greater, we could build it from source, but ubuntu 22.04 comes with 6.2 by default
|
||||
- os: ubuntu-latest
|
||||
env:
|
||||
TARGET_TRIPLE: s390x-unknown-linux-gnu
|
||||
- os: ubuntu-latest
|
||||
env:
|
||||
TARGET_TRIPLE: riscv64gc-unknown-linux-gnu
|
||||
- os: windows-latest
|
||||
env:
|
||||
TARGET_TRIPLE: x86_64-pc-windows-msvc
|
||||
@ -92,6 +94,12 @@ jobs:
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y gcc-s390x-linux-gnu qemu-user
|
||||
|
||||
- name: Install riscv64gc toolchain and qemu
|
||||
if: matrix.env.TARGET_TRIPLE == 'riscv64gc-unknown-linux-gnu'
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y gcc-riscv64-linux-gnu qemu-user
|
||||
|
||||
- name: Prepare dependencies
|
||||
run: ./y.sh prepare
|
||||
|
||||
|
@ -42,6 +42,16 @@ pub(crate) fn set_cross_linker_and_runner(&mut self) {
|
||||
"/usr/s390x-linux-gnu".to_owned(),
|
||||
];
|
||||
}
|
||||
"riscv64gc-unknown-linux-gnu" => {
|
||||
// We are cross-compiling for riscv64. Use the correct linker and run tests in qemu.
|
||||
self.rustflags.push("-Clinker=riscv64-linux-gnu-gcc".to_owned());
|
||||
self.rustdocflags.push("-Clinker=riscv64-linux-gnu-gcc".to_owned());
|
||||
self.runner = vec![
|
||||
"qemu-riscv64".to_owned(),
|
||||
"-L".to_owned(),
|
||||
"/usr/riscv64-linux-gnu".to_owned(),
|
||||
];
|
||||
}
|
||||
"x86_64-pc-windows-gnu" => {
|
||||
// We are cross-compiling for Windows. Run tests in wine.
|
||||
self.runner = vec!["wine".to_owned()];
|
||||
|
Loading…
Reference in New Issue
Block a user