fix: resolve CI failures for spell check and doc tests#1063
Merged
Mossaka merged 12 commits intocontainerd:mainfrom Feb 24, 2026
Merged
fix: resolve CI failures for spell check and doc tests#1063Mossaka merged 12 commits intocontainerd:mainfrom
Mossaka merged 12 commits intocontainerd:mainfrom
Conversation
070de73 to
3977f63
Compare
This commit fixes the following CI failures: 1. Typo "Eeach" -> "Each" in crates/containerd-shim-wasmtime/README.md 2. Typo "Bencharking" -> "Benchmarking" in docs/src/benchmarks.md 3. Lifetime elision warning in RuntimeContext trait by explicitly specifying the lifetime parameter in entrypoint() method signature These changes resolve the spell check and rustdoc build failures observed in recent PRs. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Installing cross from git causes cargo to resolve dependencies to their latest compatible versions. Some of these (like home v0.5.12+) require rustc 1.88+, which is incompatible with the project's rustc 1.85.0. Cross v0.2.5 from crates.io uses locked dependencies that support the published MSRV of rustc 1.58.1+, making it compatible with rustc 1.85.0. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
mdbook 0.5.x requires rustc 1.88+, but the project uses rustc 1.85.0. Pin mdbook to 0.4.52 (MSRV 1.82) and mdbook-mermaid to 0.16.0, which are compatible with rustc 1.85.0. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
cargo install resolves dependencies to their latest compatible versions, which can require newer Rust versions than the project's MSRV. For example, the home crate v0.5.12+ requires rustc 1.88+, but the project uses 1.85.0. Using cargo-binstall downloads pre-built binaries for cross, avoiding dependency compilation entirely. This ensures compatibility with rustc 1.85.0. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
The Cross.toml was using the old string format for dockerfile paths: [target.TARGET] dockerfile = "path" This prevented cross from passing required build args like CROSS_BASE_IMAGE, CROSS_CMAKE_SYSTEM_PROCESSOR, and CROSS_SYSROOT to the Dockerfile. Updated to the proper table format: [target.TARGET.dockerfile] file = "path" This allows cross to automatically provide CROSS_BASE_IMAGE and other environment variables that the Dockerfile expects. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
…s build args The Dockerfile.musl expects CROSS_CMAKE_SYSTEM_PROCESSOR and CROSS_SYSROOT to be set, but cross 0.2.5 doesn't automatically provide these variables when using custom Dockerfiles. Updated Cross.toml to explicitly pass these as build-args for musl targets: - aarch64: CROSS_CMAKE_SYSTEM_PROCESSOR=aarch64, CROSS_SYSROOT=/usr/local/aarch64-linux-musl - x86_64: CROSS_CMAKE_SYSTEM_PROCESSOR=x86_64, CROSS_SYSROOT=/usr/local/x86_64-linux-musl Updated Dockerfile.musl to declare these as ARG so they can be passed in. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Ring 0.17.13 introduced AVX2-based VAES-CLMUL assembly for AES-GCM performance improvements, but this broke builds on systems with older GNU binutils that don't support VAES/VPCLMULQDQ instructions. Ring 0.17.14 restores compatibility with older assembler versions, fixing the "operand type mismatch for `vaesenc`" errors seen in CI for wasmedge/aarch64-linux-gnu and oci-tar-builder/x86_64-linux-gnu. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The cross-rs base images contain an old protoc that only supports proto2 syntax. The containerd-client crate requires proto3 support for its gRPC bindings generation. Replace the apt protobuf-compiler with protoc 25.1 downloaded from the official protobuf releases, ensuring proto3 compatibility in both GNU and musl cross-compilation Docker images. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The Rust cache action may clean up ~/.cargo/bin/ binaries while keeping cargo-binstall metadata. This causes cargo-binstall to report "cross is already installed" while the actual binary is missing, resulting in "cross: command not found" during builds. Add --force flag to ensure the cross binary is always present. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The cross-rs 0.2.5 base images use Ubuntu 16.04 (Xenial) which ships libclang 3.8. The wamr crate uses bindgen/clang-sys which requires libclang >= 6.0 for the clang_getTranslationUnitTargetInfo function. Install libclang-9 from the LLVM apt repository in both GNU and musl cross-compilation Docker images. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The cross-rs 0.2.5 release Docker images are based on Ubuntu 16.04 (Xenial) which has outdated toolchains: - protobuf-compiler 2.6.1 (proto2 only, no proto3 support) - libclang 3.8 (too old for bindgen/clang-sys) - missing stdbool.h headers Override the base images in Cross.toml to use the :main tagged images which are based on Ubuntu 20.04+ with modern toolchains. This keeps the cross 0.2.5 binary (compatible with rustc 1.85.0) while using newer Docker images that have all required dependencies. Also simplified the Dockerfiles to use apt protobuf-compiler and libclang-dev since the :main images have modern versions. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Cross 0.2.5 always overrides CROSS_BASE_IMAGE with its own :0.2.5 tagged image. Use a custom BASE_IMAGE build arg instead, which cross doesn't override, to use the :main tagged images (Ubuntu 20.04+). This provides modern toolchains (protoc 3.x, libclang 10+) while keeping the cross 0.2.5 binary compatible with rustc 1.85.0. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
e32aa12 to
6314273
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR fixes the CI failures that have been affecting recent pull requests:
crates/containerd-shim-wasmtime/README.mddocs/src/benchmarks.mdRuntimeContexttrait by explicitly specifying the lifetime parameter inentrypoint()method signatureTest plan
typosmake test-docmake check-wasmtimeThese changes resolve the spell check and rustdoc build failures observed in recent PRs such as #1062, #1060, and others.
🤖 Generated with Claude Code