rust-vmm / rust-vmm-container

Container with all dependencies required for running rust-vmm crates integration tests.
Apache License 2.0
65 stars 32 forks source link

[Draft] Introduce `riscv64` image from Ubuntu LTS #104

Open TimePrinciple opened 1 month ago

TimePrinciple commented 1 month ago

Summary of the PR

This PR is to be considered when AWS has riscv64 machines available.

For introducing viable CIs and bringing riscv64 architecture related code into rust-vmm community on riscv64 platforms, an according docker image is required. This PR covers both upgrading of ubuntu base image from 22.04 to 24.10 (which has native support on riscv64) and modifications are architectural related.

Requirements

Before submitting your PR, please make sure you addressed the following requirements:

stsquad commented 1 month ago

I'm guessing 24.04 doesn't have riscv64 support? My only concern is loosing coverage for the LTS builds and effectively only tracking the development build of Ubuntu. 24.10 isn't even released yet right?

TimePrinciple commented 1 month ago

I'm guessing 24.04 doesn't have riscv64 support? My only concern is loosing coverage for the LTS builds and effectively only tracking the development build of Ubuntu. 24.10 isn't even released yet right?

Thanks for reviewing. Indeed ubuntu 24.04 image doesn't have a riscv64 tag. I will be actively following the related maintaining works. As of LTS builds, I should be working on upgrading the images once a LTS is available for riscv64. For Ubuntu 24.10, it is yet released, I'm hoping it to be supported until 24.04 is made available for riscv64.

Moreover, with this riscv64 image available, we could start working on bringing riscv64 CIs to community, and quickly replace it once LTS is available while other CI logic remains functioning.

TimePrinciple commented 1 month ago

I've thought through suggestions made by @stsquad, and decided to use Ubuntu 24.10 solely for riscv64 architecture, since the code relates to riscv64 are in development anyway, thus avoiding the influences on amd64 and arm64 while moving the riscv64 forward a bit.

I might need some help on getting GitHub Actions to work properly for the newly added Dockerfile.riscv64 by the way.