this derivation will be built: /nix/store/j7gr8g4i89k3241yhx573wfsx8lq66as-tribuchet-0.1.0.drv building '/nix/store/j7gr8g4i89k3241yhx573wfsx8lq66as-tribuchet-0.1.0.drv' on 'ssh-ng://customer@mac02' building '/nix/store/j7gr8g4i89k3241yhx573wfsx8lq66as-tribuchet-0.1.0.drv' tribuchet-0.1.0> Running phase: unpackPhase tribuchet-0.1.0> unpacking source archive /nix/store/kmzrs0a1qms8a84wmz8gcbm14nqi34x8-source tribuchet-0.1.0> source root is source tribuchet-0.1.0> Running phase: patchPhase tribuchet-0.1.0> Executing configureCargoCommonVars tribuchet-0.1.0> decompressing cargo artifacts from /nix/store/yz6wqp8nbfj882aadfazd13wdlfmpx9h-tribuchet-deps-0.1.0/target.tar.zst to target tribuchet-0.1.0> Running phase: updateAutotoolsGnuConfigScriptsPhase tribuchet-0.1.0> Running phase: configurePhase tribuchet-0.1.0> will append /nix/var/nix/builds/nix-84306-3074897752/source/.cargo-home/config.toml with contents of /nix/store/gjcnsmpsvwi5s63sqd5l0cda8bcrvphg-vendor-cargo-deps/config.toml tribuchet-0.1.0> default configurePhase, nothing to do tribuchet-0.1.0> Running phase: buildPhase tribuchet-0.1.0> +++ command cargo --version tribuchet-0.1.0> cargo 1.97.0 (c980f4866 2026-06-30) tribuchet-0.1.0> +++ command cargo build --release --message-format json-render-diagnostics --locked tribuchet-0.1.0> Compiling sandbox-proto v0.1.0 (/nix/var/nix/builds/nix-84306-3074897752/source/crates/sandbox-proto) tribuchet-0.1.0> Compiling tribuchet v0.1.0 (/nix/var/nix/builds/nix-84306-3074897752/source/crates/tribuchet) tribuchet-0.1.0> warning: unused import: `std::os::unix::fs::MetadataExt` tribuchet-0.1.0> --> crates/tribuchet/src/hub.rs:13:5 tribuchet-0.1.0> | tribuchet-0.1.0> 13 | use std::os::unix::fs::MetadataExt; tribuchet-0.1.0> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tribuchet-0.1.0> | tribuchet-0.1.0> = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default tribuchet-0.1.0> tribuchet-0.1.0> warning: unused import: `std::ffi::CString` tribuchet-0.1.0> --> crates/tribuchet/src/rt.rs:4:5 tribuchet-0.1.0> | tribuchet-0.1.0> 4 | use std::ffi::CString; tribuchet-0.1.0> | ^^^^^^^^^^^^^^^^^ tribuchet-0.1.0> tribuchet-0.1.0> warning: unused import: `std::ffi::NulError` tribuchet-0.1.0> --> crates/tribuchet/src/worker/agent.rs:15:5 tribuchet-0.1.0> | tribuchet-0.1.0> 15 | use std::ffi::NulError; tribuchet-0.1.0> | ^^^^^^^^^^^^^^^^^^ tribuchet-0.1.0> tribuchet-0.1.0> warning: unused import: `std::os::unix::process::CommandExt` tribuchet-0.1.0> --> crates/tribuchet/src/worker/sandbox.rs:21:5 tribuchet-0.1.0> | tribuchet-0.1.0> 21 | use std::os::unix::process::CommandExt; tribuchet-0.1.0> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tribuchet-0.1.0> tribuchet-0.1.0> warning: unused import: `crate::fsutil::io_ctx` tribuchet-0.1.0> --> crates/tribuchet/src/worker/sandbox.rs:34:5 tribuchet-0.1.0> | tribuchet-0.1.0> 34 | use crate::fsutil::io_ctx; tribuchet-0.1.0> | ^^^^^^^^^^^^^^^^^^^^^ tribuchet-0.1.0> tribuchet-0.1.0> warning: unused import: `std::env` tribuchet-0.1.0> --> crates/tribuchet/src/main.rs:21:5 tribuchet-0.1.0> | tribuchet-0.1.0> 21 | use std::env; tribuchet-0.1.0> | ^^^^^^^^ tribuchet-0.1.0> tribuchet-0.1.0> warning: `tribuchet` (bin "tribuchet") generated 6 warnings (run `cargo fix --bin "tribuchet" -p tribuchet` to apply 6 suggestions) tribuchet-0.1.0> Finished `release` profile [optimized] target(s) in 18.78s tribuchet-0.1.0> searching for bins/libs to install from cargo build log at cargoBuildLogJJ9q.json tribuchet-0.1.0> installing /nix/var/nix/builds/nix-84306-3074897752/source/target/release/tribuchet in postBuildInstallFromCargoBuildLogOutTempOWw/bin tribuchet-0.1.0> searching for bins/libs complete tribuchet-0.1.0> Running phase: checkPhase tribuchet-0.1.0> +++ command cargo test --release --locked -- --skip=worker::agents::tests::seatbelt_profile_confines_the_builder tribuchet-0.1.0> Compiling sandbox-proto v0.1.0 (/nix/var/nix/builds/nix-84306-3074897752/source/crates/sandbox-proto) tribuchet-0.1.0> Compiling tribuchet v0.1.0 (/nix/var/nix/builds/nix-84306-3074897752/source/crates/tribuchet) tribuchet-0.1.0> warning: unused import: `std::os::unix::fs::MetadataExt` tribuchet-0.1.0> --> crates/tribuchet/src/hub.rs:13:5 tribuchet-0.1.0> | tribuchet-0.1.0> 13 | use std::os::unix::fs::MetadataExt; tribuchet-0.1.0> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tribuchet-0.1.0> | tribuchet-0.1.0> = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default tribuchet-0.1.0> tribuchet-0.1.0> warning: unused import: `std::ffi::CString` tribuchet-0.1.0> --> crates/tribuchet/src/rt.rs:4:5 tribuchet-0.1.0> | tribuchet-0.1.0> 4 | use std::ffi::CString; tribuchet-0.1.0> | ^^^^^^^^^^^^^^^^^ tribuchet-0.1.0> tribuchet-0.1.0> warning: unused import: `std::ffi::NulError` tribuchet-0.1.0> --> crates/tribuchet/src/worker/agent.rs:15:5 tribuchet-0.1.0> | tribuchet-0.1.0> 15 | use std::ffi::NulError; tribuchet-0.1.0> | ^^^^^^^^^^^^^^^^^^ tribuchet-0.1.0> tribuchet-0.1.0> warning: unused import: `std::os::unix::process::CommandExt` tribuchet-0.1.0> --> crates/tribuchet/src/worker/sandbox.rs:21:5 tribuchet-0.1.0> | tribuchet-0.1.0> 21 | use std::os::unix::process::CommandExt; tribuchet-0.1.0> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tribuchet-0.1.0> tribuchet-0.1.0> warning: unused import: `crate::fsutil::io_ctx` tribuchet-0.1.0> --> crates/tribuchet/src/worker/sandbox.rs:34:5 tribuchet-0.1.0> | tribuchet-0.1.0> 34 | use crate::fsutil::io_ctx; tribuchet-0.1.0> | ^^^^^^^^^^^^^^^^^^^^^ tribuchet-0.1.0> tribuchet-0.1.0> warning: unused import: `std::env` tribuchet-0.1.0> --> crates/tribuchet/src/main.rs:21:5 tribuchet-0.1.0> | tribuchet-0.1.0> 21 | use std::env; tribuchet-0.1.0> | ^^^^^^^^ tribuchet-0.1.0> tribuchet-0.1.0> warning: `tribuchet` (bin "tribuchet" test) generated 6 warnings (run `cargo fix --bin "tribuchet" -p tribuchet --tests` to apply 6 suggestions) tribuchet-0.1.0> Finished `release` profile [optimized] target(s) in 5.49s tribuchet-0.1.0> Running unittests src/lib.rs (target/release/deps/sandbox_proto-3fb6c21651375961) tribuchet-0.1.0> tribuchet-0.1.0> running 5 tests tribuchet-0.1.0> test framing::tests::closed_connection_is_err ... ok tribuchet-0.1.0> test framing::tests::error_reply_is_err ... ok tribuchet-0.1.0> test framing::tests::call_roundtrip_with_fds ... ok tribuchet-0.1.0> test framing::tests::reply_roundtrip ... ok tribuchet-0.1.0> test framing::tests::large_message_leaves_the_next_one_intact ... ok tribuchet-0.1.0> tribuchet-0.1.0> test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s tribuchet-0.1.0> tribuchet-0.1.0> Running unittests src/main.rs (target/release/deps/tribuchet-3492b85c9941c3fe) tribuchet-0.1.0> tribuchet-0.1.0> running 58 tests tribuchet-0.1.0> test build_json::tests::system_features_from_plain_env ... ok tribuchet-0.1.0> test capwrite::tests::rejects_writes_beyond_the_cap ... ok tribuchet-0.1.0> test capwrite::tests::rejects_writes_past_the_deadline ... ok tribuchet-0.1.0> test build_json::tests::fixed_output_detection ... ok tribuchet-0.1.0> test build_json::tests::system_features_from_structured_attrs ... ok tribuchet-0.1.0> test hub::metrics::tests::label_escapes_and_truncates ... ok tribuchet-0.1.0> test config::tests::worker_defaults_and_emulate_map ... ok tribuchet-0.1.0> test config::tests::env_overrides_tls_paths ... ok tribuchet-0.1.0> test hub::relay::staging::tests::largest_ready_path_streams_first ... ok tribuchet-0.1.0> test hub::relay::staging::tests::missing_paths_are_validated_against_the_offer ... ok tribuchet-0.1.0> test config::tests::unknown_keys_are_rejected ... ok tribuchet-0.1.0> test hub::relay::staging::tests::reference_cycles_do_not_loop ... ok tribuchet-0.1.0> test hub::relay::staging::tests::references_are_streamed_before_referrers ... ok tribuchet-0.1.0> test hub::state::tests::nix_config_json_escapes_peer_supplied_systems ... ok tribuchet-0.1.0> test hub::state::tests::nix_config_union_systems_and_capped_oversubscribed_jobs ... ok tribuchet-0.1.0> test hub::state::tests::departed_worker_keeps_its_platform_expected ... ok tribuchet-0.1.0> test hub::state::tests::nix_config_without_workers_omits_max_jobs ... ok tribuchet-0.1.0> test hub::state::tests::startup_window_awaits_then_unseen_platform_declines ... ok tribuchet-0.1.0> test hub::state::tests::worker_caps_feature_matching ... ok tribuchet-0.1.0> test hub::relay::extras::tests::extras_with_wrong_signature_are_rejected ... ok tribuchet-0.1.0> test hub::state::tests::queued_job_fails_when_last_capable_worker_leaves ... ok tribuchet-0.1.0> test hub::submit::tests::dedupe_key_binds_full_request ... ok tribuchet-0.1.0> test hub::submit::tests::dedupe_key_separates_sections ... ok tribuchet-0.1.0> test hub::submit::tests::request_validation ... ok tribuchet-0.1.0> test netpolicy::tests::default_policy_allows_everything ... ok tribuchet-0.1.0> test netpolicy::tests::first_match_wins_and_default_applies ... ok tribuchet-0.1.0> test netpolicy::tests::keywords_and_v6_cidrs ... ok tribuchet-0.1.0> test netpolicy::tests::bad_values_are_rejected ... ok tribuchet-0.1.0> test store::tests::store_path_validation ... ok tribuchet-0.1.0> test tailscale::tests::ipv6_addr_is_encoded ... ok tribuchet-0.1.0> test tailscale::tests::non_200_is_error ... ok tribuchet-0.1.0> test tailscale::tests::parses_whois_body ... ok tribuchet-0.1.0> test sockpath::tests::long_socket_paths_bind_and_connect ... ok tribuchet-0.1.0> test tmpdir::tests::refuses_a_symlinked_build_dir ... ok tribuchet-0.1.0> test tmpdir::tests::unpack_does_not_follow_existing_symlinks ... ok tribuchet-0.1.0> test worker::agent::tests::env_rewrite_replaces_tmp_dir_references ... ok tribuchet-0.1.0> test worker::binfmt::tests::i686_matches_em_386 ... ok tribuchet-0.1.0> test tmpdir::tests::unpack_fixes_modes_and_refuses_non_basenames ... ok tribuchet-0.1.0> test worker::binfmt::tests::register_line_format ... ok tribuchet-0.1.0> test attach::tests::replaces_existing_output_path ... ok tribuchet-0.1.0> test worker::caps::tests::recursive_nix_advertised_only_when_enabled_and_native ... ok tribuchet-0.1.0> test worker::build::tests::assignment_validation ... ok tribuchet-0.1.0> test worker::agent::tests::make_readable_skips_symlinks ... ok tribuchet-0.1.0> test worker::caps::tests::uid_range_detection ... ok tribuchet-0.1.0> test worker::logtail::tests::missing_log_means_no_cursor ... ok tribuchet-0.1.0> test tmpdir::tests::packs_files_and_skips_symlinks_and_subdirs ... ok tribuchet-0.1.0> test worker::logtail::tests::rejected_chunk_keeps_offset_for_retry ... ok tribuchet-0.1.0> test worker::logtail::tests::cursor_resumes_at_persisted_offset ... ok tribuchet-0.1.0> test worker::build::outputs::tests::pack_one_nar_finds_references_and_excludes_self ... ok tribuchet-0.1.0> test worker::resume::tests::persisted_running_state_round_trips ... ok tribuchet-0.1.0> test worker::tests::sweep_removes_stale_builds_and_legacy_cache ... ok tribuchet-0.1.0> test nar::tests::round_trip ... ok tribuchet-0.1.0> test worker::pins::tests::references_outside_the_offer_are_ignored ... ok tribuchet-0.1.0> test worker::pins::tests::pins_roots_missing_and_self_referencing_paths ... ok tribuchet-0.1.0> test nar::tests::matches_nix_store_dump ... ok tribuchet-0.1.0> test nar::tests::root_symlink_round_trip ... ok tribuchet-0.1.0> test tmpdir::tests::large_files_round_trip ... ok tribuchet-0.1.0> test worker::agents::tests::agent_runs_a_build_end_to_end ... ok tribuchet-0.1.0> tribuchet-0.1.0> test result: ok. 58 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.06s tribuchet-0.1.0> tribuchet-0.1.0> Doc-tests sandbox_proto tribuchet-0.1.0> tribuchet-0.1.0> running 0 tests tribuchet-0.1.0> tribuchet-0.1.0> test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s tribuchet-0.1.0> tribuchet-0.1.0> Running phase: installPhase tribuchet-0.1.0> actually installing contents of postBuildInstallFromCargoBuildLogOutTempOWw to /nix/store/7f06cy3kpv2hb42jrah24glnk16h5g3h-tribuchet-0.1.0 tribuchet-0.1.0> stripping references to Rust toolchain tribuchet-0.1.0> Rust toolchain at: /nix/store/z7m83pil2wjiy0vp3a5xr7q3nz4qx0kb-rustc-1.97.1 tribuchet-0.1.0> stripping Rust toolchain references done tribuchet-0.1.0> stripping references to cargoVendorDir from: tribuchet-0.1.0> /nix/store/7f06cy3kpv2hb42jrah24glnk16h5g3h-tribuchet-0.1.0/bin/tribuchet tribuchet-0.1.0> stripping references done tribuchet-0.1.0> signing files: tribuchet-0.1.0> signing: /nix/store/7f06cy3kpv2hb42jrah24glnk16h5g3h-tribuchet-0.1.0/bin/tribuchet tribuchet-0.1.0> signing done tribuchet-0.1.0> Running phase: fixupPhase tribuchet-0.1.0> checking for references to /nix/var/nix/builds/nix-84306-3074897752/ in /nix/store/7f06cy3kpv2hb42jrah24glnk16h5g3h-tribuchet-0.1.0... tribuchet-0.1.0> patching script interpreter paths in /nix/store/7f06cy3kpv2hb42jrah24glnk16h5g3h-tribuchet-0.1.0 tribuchet-0.1.0> stripping (with command strip and flags -S) in /nix/store/7f06cy3kpv2hb42jrah24glnk16h5g3h-tribuchet-0.1.0/bin post-build step Upload coverage to codecov: ok Skipping codecov: project=Mic92/tribuchet attr=checks.aarch64-darwin.package-default