Build Linux x64 against an isolated sysroot.
Some checks failed
Tagged release / prepare-release (push) Successful in 2m54s
Tagged release / build-linux-x64 (push) Failing after 6m6s
Tagged release / build-macos (push) Has been skipped
Tagged release / build-linux-arm64 (push) Has been skipped
Tagged release / build-windows (push) Has been skipped
Tagged release / publish-release (push) Has been skipped
Some checks failed
Tagged release / prepare-release (push) Successful in 2m54s
Tagged release / build-linux-x64 (push) Failing after 6m6s
Tagged release / build-macos (push) Has been skipped
Tagged release / build-linux-arm64 (push) Has been skipped
Tagged release / build-windows (push) Has been skipped
Tagged release / publish-release (push) Has been skipped
This commit is contained in:
@@ -193,38 +193,42 @@ fn tagged_releases_are_built_and_packaged_with_rust_tools() {
|
||||
"libwebkit2gtk-4.1-dev:amd64",
|
||||
"gcc-x86-64-linux-gnu",
|
||||
"Architectures: arm64",
|
||||
"remove -y mercurial python3-importlib-metadata python3-jwt",
|
||||
"install_packages python3 python3-typing-extensions",
|
||||
"--download-only",
|
||||
"dpkg-deb --extract",
|
||||
"/opt/ruds-x64-sysroot",
|
||||
] {
|
||||
assert!(
|
||||
linux_dependencies.contains(required),
|
||||
"Linux dependency setup is missing {required}"
|
||||
);
|
||||
}
|
||||
let cleanup = linux_dependencies
|
||||
.find("remove -y mercurial python3-importlib-metadata python3-jwt")
|
||||
.expect("runner Python cleanup");
|
||||
let multiarch = linux_dependencies
|
||||
.find("dpkg --add-architecture amd64")
|
||||
.expect("amd64 architecture setup");
|
||||
assert!(
|
||||
cleanup < multiarch,
|
||||
"runner-only Python packages must be removed before enabling multiarch"
|
||||
!linux_dependencies.contains("apt-get remove"),
|
||||
"cross-build setup must not replace native runner packages"
|
||||
);
|
||||
let native_python = linux_dependencies
|
||||
.find("install_packages python3 python3-typing-extensions")
|
||||
.expect("native Python dependency setup");
|
||||
let native_source_filter = linux_dependencies
|
||||
.find("'/^Architectures:/d; /^Types: deb$/a Architectures: arm64'")
|
||||
.expect("native apt architecture filter");
|
||||
let native_cross_compiler = linux_dependencies
|
||||
.find("install_packages build-essential cmake gcc-x86-64-linux-gnu")
|
||||
.expect("native cross compiler setup");
|
||||
assert!(
|
||||
linux_dependencies[native_source_filter..native_python].contains("sudo apt-get update"),
|
||||
linux_dependencies[native_source_filter..native_cross_compiler]
|
||||
.contains("sudo apt-get update"),
|
||||
"native apt indexes must be refreshed after constraining the source architecture"
|
||||
);
|
||||
assert!(
|
||||
native_python < multiarch,
|
||||
"native Python dependencies must be fixed before enabling multiarch"
|
||||
native_cross_compiler < multiarch,
|
||||
"the native cross compiler must be installed before enabling multiarch"
|
||||
);
|
||||
assert!(
|
||||
linux_dependencies.find("--download-only").unwrap() > multiarch,
|
||||
"foreign libraries must only be downloaded after enabling multiarch"
|
||||
);
|
||||
assert!(workflow.contains("PKG_CONFIG_SYSROOT_DIR: /opt/ruds-x64-sysroot"));
|
||||
|
||||
let workspace_manifest = fs::read_to_string(workspace.join("Cargo.toml")).unwrap();
|
||||
let core_manifest = fs::read_to_string(workspace.join("crates/bds-core/Cargo.toml")).unwrap();
|
||||
|
||||
Reference in New Issue
Block a user