pub enum CompilationKind {
Show 25 variants
CargoBuild,
CargoTest,
CargoCheck,
CargoClippy,
CargoDoc,
CargoNextest,
CargoBench,
CargoZigbuild,
Rustc,
Gcc,
Gpp,
Clang,
Clangpp,
Make,
CmakeBuild,
Ninja,
Meson,
BunTest,
BunTypecheck,
GoBuild,
GoTest,
GoVet,
Tsc,
NixBuild,
Job,
}Expand description
Kind of compilation command detected.
Variants§
CargoBuild
cargo build, cargo test, cargo check, etc.
CargoTest
CargoCheck
CargoClippy
CargoDoc
CargoNextest
cargo nextest run - next-generation test runner
CargoBench
cargo bench - run benchmarks
CargoZigbuild
cargo zigbuild / cargo-zigbuild zigbuild — a cargo build that uses
zig as the C compiler + cross-linker (cargo-zigbuild). It IS a Rust
build (RequiredRuntime::Rust), but additionally needs zig +
cargo-zigbuild on the worker and the requested --target rustup std.
Unlike Go/Nix it PRODUCES a real binary under target/<triple>/<profile>/,
so its artifacts must sync back (see artifact_patterns).
Rustc
rustc invocation
Gcc
GCC compilation
Gpp
G++ compilation
Clang
Clang compilation
Clangpp
Clang++ compilation
Make
make build
CmakeBuild
cmake –build
Ninja
ninja build
Meson
meson compile
BunTest
bun test - Runs Bun’s built-in test runner
BunTypecheck
bun typecheck - Runs TypeScript type checking
GoBuild
go build ./... (compile check; no -o output file)
GoTest
go test ./...
GoVet
go vet ./...
Tsc
tsc --noEmit / npx tsc --noEmit (typecheck only; emitting runs stay local)
NixBuild
nix build / nix-build (derivation build), nix flake check
(evaluate + build all outputs), and the non-interactive
nix develop -c <cmd> / nix shell -c <cmd> forms.
Nix outputs live in the worker’s /nix/store behind a result symlink
that is meaningless on a nix-less local host, so these run as
streaming, no-artifact-return commands (exit status is the payload).
Job
Arbitrary non-compilation workload admitted explicitly via
rch exec --job (sharded tests, fuzzing, benchmarks, mutation testing).
NEVER produced by classify_command or the PreToolUse hook — the sole
constructor is the explicit --job flag on rch exec, so the hook can
never auto-delegate a command the classifier did not intercept. A job
rides the normal selection/sync/execute/heartbeat/release rails, syncs
no artifacts back automatically (exit status is the payload in this
phase), and surfaces the remote exit status verbatim without
toolchain/worker-environment reinterpretation.
Implementations§
Source§impl CompilationKind
impl CompilationKind
Sourcepub fn is_test_command(&self) -> bool
pub fn is_test_command(&self) -> bool
Returns true if this is a test-related command.
Test commands have special cache affinity behavior because test binaries (e.g., target/debug/deps/) are expensive to compile and benefit more from warm caches than regular builds.
Sourcepub fn command_base(&self) -> &'static str
pub fn command_base(&self) -> &'static str
Returns the base command name for allowlist matching (bd-785w).
This is the primary executable name that should appear in the execution allowlist configuration.
Trait Implementations§
Source§impl Clone for CompilationKind
impl Clone for CompilationKind
impl Copy for CompilationKind
Source§impl Debug for CompilationKind
impl Debug for CompilationKind
Source§impl<'de> Deserialize<'de> for CompilationKind
impl<'de> Deserialize<'de> for CompilationKind
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for CompilationKind
Source§impl JsonSchema for CompilationKind
impl JsonSchema for CompilationKind
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for CompilationKind
impl PartialEq for CompilationKind
Source§impl Serialize for CompilationKind
impl Serialize for CompilationKind
impl StructuralPartialEq for CompilationKind
Auto Trait Implementations§
impl Freeze for CompilationKind
impl RefUnwindSafe for CompilationKind
impl Send for CompilationKind
impl Sync for CompilationKind
impl Unpin for CompilationKind
impl UnsafeUnpin for CompilationKind
impl UnwindSafe for CompilationKind
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.