SCRATCH PR: wasm ci test, don't review#1390
Closed
daniel-noland wants to merge 12 commits intomainfrom
Closed
Conversation
Remove all kani proof annotations and cfg(kani) guards from net crate tests. Remove the [lints.rust] unexpected_cfgs kani check-cfg from net/Cargo.toml. Kani is not actively used and these annotations add noise.
Slim down bolero feature flags from [alloc, arbitrary, std] to [std] in both dependencies and dev-dependencies. Remove duplicate etherparse dev-dependency (already present in [dependencies]). This drops the transitive 'arbitrary' crate dependency.
- Add #[must_use] to pure accessor methods - Add #[allow(clippy::cast_possible_truncation)] and #[allow(clippy::too_many_lines)] where needed - Replace .map(...).unwrap_or(0) with .map_or(0, ...) - Collapse nested Some(A) | Some(B) match arms into Some(A | B) - Replace Default::default() with ArrayVec::default() in contract generators - Convert match on bool to if/else in bolero generators - Fix stray semicolons and narrow wildcard imports in contract module - Add Errors doc sections to fallible public methods
- Remove 4 crate-wide #![allow(...)] from config/src/lib.rs, replacing with targeted #[allow(clippy::struct_excessive_bools)] on the 5 structs that need it - Fix redundant_closure_for_method_calls: use method references instead of closures (e.g. .map(LegalValue::take), .for_each(GwGroup::sort_members)) - Fix doc_markdown lints: backtick-wrap type names in doc comments - Add Errors doc sections to ~20 fallible public methods - Convert // comments to /// doc comments on VpcExpose NAT methods - Remove unused import (crate::converters::k8s::config::peering)
- Move atomic-instant-full under cfg(any(x86_64, aarch64)) target dep - Move linux-raw-sys under cfg(unix) target dep - Gate flows and packet modules with #![cfg(unix)] - Replace linux_raw_sys::if_ether::ETH_MAX_MTU with literal 65535 in mtu.rs - Add #![cfg_attr(not(unix), allow(unused))] to net/src/lib.rs
Add a 'sysfs' feature to the hardware crate (default-enabled) that gates the sysfs dependency and the nic module. This allows the hardware crate to be used in wasm32 builds where sysfs/procfs is unavailable. Update downstream consumers (args, init) to explicitly enable the sysfs feature.
Add a 'client' feature (default-enabled) to k8s-intf that gates the full K8s client, watcher, and status-reporting functionality (futures, linkme, rustls, tokio, tracectl, and kube client/runtime/rustls-tls features). When disabled, only the generated CRD types are available. This allows the validator crate to depend on k8s-intf with default-features=false for wasm32-wasip1 builds that only need CRD type definitions. Update downstream consumers: - k8s-less, mgmt: explicitly enable the client feature - validator: use default-features = false
Move linkme and tracectl to [target.'cfg(unix)'.dependencies] in config/Cargo.toml. Add #[cfg(unix)] / #[cfg(not(unix))] conditional imports and fallback definitions for LevelFilter and DEFAULT_DEFAULT_LOGLEVEL on non-unix platforms. Split TracingConfig::validate() into platform-specific implementations: - Unix: real validation via tracectl - Non-unix: no-op (returns Ok) Gate trace_target! macro and ConfigError::Tracing variant with cfg(unix). Also: clean up derive_builder features, add sysfs to hardware dev-dep, simplify bolero dev-dep features.
Workspace-level changes to support cross-platform builds: - Set default-features = false for hardware and k8s-intf workspace deps - Move rt-multi-thread from workspace tokio to routing/Cargo.toml - Move codec from workspace tokio-util to routing/Cargo.toml - Fix trailing whitespace on netgauze-bgp-pkt line Update Cargo.lock to reflect dependency changes.
- Add wasm32-wasip1 platform entry in nix/platforms.nix (arch table + info) - Accept kernel parameter in platforms.nix for wasip1 support - Add wasm32-wasip1 to rust toolchain targets in nix/overlays/llvm.nix - Add empty march.wasm32 in nix/profiles.nix
Major restructuring to support wasm32-wasip1 alongside native builds: - Add kernel parameter for platform selection - Merge dev-pkgs and frr-pkgs into unified pkgs (with conditional pkgsCross) - Conditional sysroot: full native deps for linux, minimal for wasm - Replace dev-pkgs references with pkgs.pkgsBuildHost - Conditional RUSTFLAGS: linker flags for native, empty for wasm - Conditional postInstall: strip/objcopy for native, wasm-opt for wasm - Add workspace-builder-wasm and workspace-wasm derivations - Fix crane import (remove unnecessary pkgs arg) - Fix src filter (use baseNameOf and lib.cleanSource) - Add oras to devshell for OCI artifact pushing - Add binary symlinks to dataplane.tar - Remove fakeNss from frr-host container - Remove dev-pkgs and frr-pkgs from exports, add workspace-wasm
Justfile: - Add libc and kernel variables derived from platform - Pass libc and kernel to nix build invocations - Default jobs to 8 - Add validator target to build-container and push-container (via oras) - Update push recipe to include validator with wasm32-wasip1 platform CI (dev.yml): - Add validator to build matrix - Reorder nix-install before checkout for caching - Remove Go setup (no longer needed) - Add nix-shell caching step - Add oras login alongside docker login - Add platform logic for wasm vs native builds - Fix script quoting (double to single quotes)
Collaborator
Author
|
closed in favor of #1380 |
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.
No description provided.