diff --git a/src/deb/mod.rs b/src/deb/mod.rs index 1f7ae9b..1805d92 100644 --- a/src/deb/mod.rs +++ b/src/deb/mod.rs @@ -603,12 +603,34 @@ mod tests { /// NOTE: Ideally, we want to run this in CI, but it takes more than 1h /// to fully build the linux-riscv package on an amd64 builder, which is too /// much time + /// The series is the current LTS (26.04) rather than an interim one: + /// interim series vanish from the mirrors a few months after their EOL + /// (questing is already unreachable), an LTS stays pullable for years. #[ignore] #[tokio::test] #[test_log::test] #[cfg(target_arch = "x86_64")] async fn test_deb_linux_riscv_ubuntu_cross_end_to_end() { - test_build_end_to_end("linux-riscv", "questing", None, Some("riscv64"), true).await; + test_build_end_to_end("linux-riscv", "resolute", None, Some("riscv64"), true).await; + } + + /// KNOWN-BROKEN cross build of the noble-era kernel, kept as an + /// ignored fixture to work from. Noble controls declare their build + /// tools unqualified (the `:native` idiom landed later), so exact dpkg + /// semantics demand host-architecture instances of them + /// (python3:riscv64, gcc-13:riscv64, clang-17:riscv64, ...) and the + /// resulting two-architecture install set is unsolvable: t64 + /// libraries (libclang1-17t64) conflict with their own foreign-arch + /// variant, and the riscv64 toolchain instances drag depends chains + /// (gcc:riscv64) that do not resolve from the chroot sources. A real + /// run fails at the apt transaction with 'Unable to correct problems'. + /// Resolute-era controls declare :native properly; see the test above. + #[ignore] + #[tokio::test] + #[test_log::test] + #[cfg(target_arch = "x86_64")] + async fn test_deb_linux_riscv_noble_cross_end_to_end() { + test_build_end_to_end("linux-riscv", "noble", None, Some("riscv64"), true).await; } /// This is a specific test case for the latest gcc package on Debian