Back to branch review

sledtools/pika branch #52

pika-orch-incus-cleanup-6

Split remote Linux VM backends

branch: merged target: master
Updated 2026-03-25 17:43:01
Head 418adbf844eece92c07720dc2feb46e329701db1
Merge Base d622cec2725528e54bc3cf94adc6a11cd2820452

Continuous Integration

CI: success

branch merged · tutorial ready

Use recovery controls only for wedged queues, stale leases, or broken runners.

Run History

Full lane, log, rerun, and recovery detail lives here.

Run #64 success

head 418adbf844eece92c07720dc2feb46e329701db1 · queued 2026-03-25 17:40:24 · 10 lane(s)

queued 7s · ran 2m 15s

started 2026-03-25 17:40:31

finished 2026-03-25 17:42:46

Lane #273 · check-pika-rust success

./scripts/pikaci-staged-linux-remote.sh run pre-merge-pika-rust · lane id pika_rust · retries 0 · queued 2026-03-25 17:40:24

queued 7s · ran 30s

target pre-merge-pika-rust

last heartbeat 2026-03-25 17:41:01

CI run 20260325T174101Z-e73e6fd5 · target pre-merge-pika-rust

started 2026-03-25 17:40:31

finished 2026-03-25 17:41:01

[pikaci] run started: 20260325T174101Z-e73e6fd5 · pre-merge-pika-rust · Run the VM-backed Rust tests from the pre-merge pika lane
[pikaci] run finished: 20260325T174101Z-e73e6fd5 · status=skipped · skipped; no changed files matched 13 filter(s)
error (ignored): SQLite database '/var/lib/pika-news/.cache/nix/eval-cache-v6/8b31440c4333480be544d288be2010944879c3585e7e198d4e2891514f7a6cc8.sqlite' is busy
this derivation will be built:
  /nix/store/w5ijwxp795v8ybc6jra01bs8g9i5xa52-pikaci-0.1.0.drv
[pikaci-tools] staged-linux-remote: resolution=nix-build package_root=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0
[pikaci-tools] staged-linux-remote: pikaci=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0/bin/pikaci
[pikaci-tools] staged-linux-remote: helper=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0/bin/pikaci-fulfill-prepared-output
[pikaci-tools] staged-linux-remote: launcher=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0/bin/pikaci-launch-fulfill-prepared-output
Lane #274 · check-pika-followup success

./scripts/pikaci-staged-linux-remote.sh run pre-merge-pika-followup · lane id pika_followup · retries 0 · queued 2026-03-25 17:40:24

queued 7s · ran 30s

target pre-merge-pika-followup

last heartbeat 2026-03-25 17:41:01

CI run 20260325T174101Z-0113f5f9 · target pre-merge-pika-followup

started 2026-03-25 17:40:31

finished 2026-03-25 17:41:01

[pikaci] run started: 20260325T174101Z-0113f5f9 · pre-merge-pika-followup · Run the VM-backed non-Rust follow-up checks from the pre-merge pika lane
[pikaci] run finished: 20260325T174101Z-0113f5f9 · status=skipped · skipped; no changed files matched 23 filter(s)
error (ignored): SQLite database '/var/lib/pika-news/.cache/nix/eval-cache-v6/8b31440c4333480be544d288be2010944879c3585e7e198d4e2891514f7a6cc8.sqlite' is busy
this derivation will be built:
  /nix/store/w5ijwxp795v8ybc6jra01bs8g9i5xa52-pikaci-0.1.0.drv
[pikaci-tools] staged-linux-remote: resolution=nix-build package_root=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0
[pikaci-tools] staged-linux-remote: pikaci=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0/bin/pikaci
[pikaci-tools] staged-linux-remote: helper=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0/bin/pikaci-fulfill-prepared-output
[pikaci-tools] staged-linux-remote: launcher=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0/bin/pikaci-launch-fulfill-prepared-output
Lane #275 · check-notifications success

./scripts/pikaci-staged-linux-remote.sh run pre-merge-notifications · lane id notifications · retries 0 · queued 2026-03-25 17:40:24

queued 7s · ran 30s

target pre-merge-notifications

last heartbeat 2026-03-25 17:41:01

CI run 20260325T174101Z-75def3a2 · target pre-merge-notifications

started 2026-03-25 17:40:31

finished 2026-03-25 17:41:01

[pikaci] run started: 20260325T174101Z-75def3a2 · pre-merge-notifications · Run the VM-backed Rust tests from the notifications lane
[pikaci] run finished: 20260325T174101Z-75def3a2 · status=skipped · skipped; no changed files matched 17 filter(s)
error (ignored): SQLite database '/var/lib/pika-news/.cache/nix/eval-cache-v6/8b31440c4333480be544d288be2010944879c3585e7e198d4e2891514f7a6cc8.sqlite' is busy
this derivation will be built:
  /nix/store/w5ijwxp795v8ybc6jra01bs8g9i5xa52-pikaci-0.1.0.drv
[pikaci-tools] staged-linux-remote: resolution=nix-build package_root=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0
[pikaci-tools] staged-linux-remote: pikaci=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0/bin/pikaci
[pikaci-tools] staged-linux-remote: helper=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0/bin/pikaci-fulfill-prepared-output
[pikaci-tools] staged-linux-remote: launcher=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0/bin/pikaci-launch-fulfill-prepared-output
Lane #276 · check-agent-contracts success

./scripts/pikaci-staged-linux-remote.sh run pre-merge-agent-contracts · lane id agent_contracts · retries 0 · queued 2026-03-25 17:40:24

queued 7s · ran 32s

target pre-merge-agent-contracts

last heartbeat 2026-03-25 17:41:03

CI run 20260325T174103Z-680dd8d1 · target pre-merge-agent-contracts

started 2026-03-25 17:40:31

finished 2026-03-25 17:41:03

[pikaci] run started: 20260325T174103Z-680dd8d1 · pre-merge-agent-contracts · Run the VM-backed pre-merge agent contracts lane
[pikaci] run finished: 20260325T174103Z-680dd8d1 · status=skipped · skipped; no changed files matched 18 filter(s)
[pikaci-tools] staged-linux-remote: resolution=nix-build package_root=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0
[pikaci-tools] staged-linux-remote: pikaci=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0/bin/pikaci
[pikaci-tools] staged-linux-remote: helper=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0/bin/pikaci-fulfill-prepared-output
[pikaci-tools] staged-linux-remote: launcher=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0/bin/pikaci-launch-fulfill-prepared-output
Lane #277 · check-rmp success

./scripts/pikaci-staged-linux-remote.sh run pre-merge-rmp · lane id rmp · retries 0 · queued 2026-03-25 17:40:24

queued 7s · ran 30s

target pre-merge-rmp

last heartbeat 2026-03-25 17:41:01

CI run 20260325T174101Z-fcd77716 · target pre-merge-rmp

started 2026-03-25 17:40:31

finished 2026-03-25 17:41:01

[pikaci] run started: 20260325T174101Z-fcd77716 · pre-merge-rmp · Run the VM-backed pre-merge RMP lane
[pikaci] run finished: 20260325T174101Z-fcd77716 · status=skipped · skipped; no changed files matched 10 filter(s)
error (ignored): SQLite database '/var/lib/pika-news/.cache/nix/eval-cache-v6/8b31440c4333480be544d288be2010944879c3585e7e198d4e2891514f7a6cc8.sqlite' is busy
this derivation will be built:
  /nix/store/w5ijwxp795v8ybc6jra01bs8g9i5xa52-pikaci-0.1.0.drv
[pikaci-tools] staged-linux-remote: resolution=nix-build package_root=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0
[pikaci-tools] staged-linux-remote: pikaci=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0/bin/pikaci
[pikaci-tools] staged-linux-remote: helper=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0/bin/pikaci-fulfill-prepared-output
[pikaci-tools] staged-linux-remote: launcher=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0/bin/pikaci-launch-fulfill-prepared-output
Lane #278 · check-pikachat success

./scripts/pikaci-staged-linux-remote.sh run pre-merge-pikachat-rust · lane id pikachat · retries 0 · queued 2026-03-25 17:40:24

queued 7s · ran 27s

target pre-merge-pikachat-rust

last heartbeat 2026-03-25 17:40:58

CI run 20260325T174058Z-d7f49035 · target pre-merge-pikachat-rust

started 2026-03-25 17:40:31

finished 2026-03-25 17:40:58

[pikaci] run started: 20260325T174058Z-d7f49035 · pre-merge-pikachat-rust · Run the VM-backed Rust tests from the pikachat lane
[pikaci] run finished: 20260325T174058Z-d7f49035 · status=skipped · skipped; no changed files matched 25 filter(s)
error (ignored): SQLite database '/var/lib/pika-news/.cache/nix/eval-cache-v6/8b31440c4333480be544d288be2010944879c3585e7e198d4e2891514f7a6cc8.sqlite' is busy
this derivation will be built:
  /nix/store/w5ijwxp795v8ybc6jra01bs8g9i5xa52-pikaci-0.1.0.drv
building '/nix/store/w5ijwxp795v8ybc6jra01bs8g9i5xa52-pikaci-0.1.0.drv'...
[pikaci-tools] staged-linux-remote: resolution=nix-build package_root=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0
[pikaci-tools] staged-linux-remote: pikaci=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0/bin/pikaci
[pikaci-tools] staged-linux-remote: helper=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0/bin/pikaci-fulfill-prepared-output
[pikaci-tools] staged-linux-remote: launcher=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0/bin/pikaci-launch-fulfill-prepared-output
Lane #279 · check-pikachat-typescript success

./scripts/pikaci-staged-linux-remote.sh run pre-merge-pikachat-typescript · lane id pikachat_typescript · retries 0 · queued 2026-03-25 17:40:24

queued 7s · ran 30s

target pre-merge-pikachat-typescript

last heartbeat 2026-03-25 17:41:01

CI run 20260325T174101Z-899ebdef · target pre-merge-pikachat-typescript

started 2026-03-25 17:40:31

finished 2026-03-25 17:41:01

[pikaci] run started: 20260325T174101Z-899ebdef · pre-merge-pikachat-typescript · Run the VM-backed TypeScript tests from the pikachat lane
[pikaci] run finished: 20260325T174101Z-899ebdef · status=skipped · skipped; no changed files matched 14 filter(s)
error (ignored): SQLite database '/var/lib/pika-news/.cache/nix/eval-cache-v6/8b31440c4333480be544d288be2010944879c3585e7e198d4e2891514f7a6cc8.sqlite' is busy
this derivation will be built:
  /nix/store/w5ijwxp795v8ybc6jra01bs8g9i5xa52-pikaci-0.1.0.drv
[pikaci-tools] staged-linux-remote: resolution=nix-build package_root=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0
[pikaci-tools] staged-linux-remote: pikaci=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0/bin/pikaci
[pikaci-tools] staged-linux-remote: helper=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0/bin/pikaci-fulfill-prepared-output
[pikaci-tools] staged-linux-remote: launcher=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0/bin/pikaci-launch-fulfill-prepared-output
Lane #280 · check-apple-host-sanity success

./scripts/pikaci-apple-github-step remote-run --just-recipe apple-host-sanity · lane id apple_host_sanity · retries 0 · queued 2026-03-25 17:40:24

queued 7s · ran 2m 15s

target apple-host

last heartbeat 2026-03-25 17:42:46

started 2026-03-25 17:40:31

finished 2026-03-25 17:42:46

From /Volumes/pikaci-data/pikaci-apple/runs/apple-run-20260325T174031Z-418adbf844ee/source.bundle
 * [new ref]             refs/pikaci-apple/run/apple-run-20260325T174031Z-418adbf844ee -> refs/pikaci-apple/prepared/418adbf844eece92c07720dc2feb46e329701db1
Preparing worktree (detached HEAD 418adbf84)
building '/nix/store/jkfhn5c4algl4fy1radnpxanwdbwx4k0-ph-0.1.0.drv'...
building '/nix/store/wzhaxkmyz9mlqn7hw1kwl81ww9sf60vj-nix-shell-env.drv'...

Pika dev environment ready
  Rust:         rustc 1.93.0 (254b59607 2026-01-19)
  DATABASE_URL: postgresql:///pika_server?host=/Volumes/pikaci-data/pikaci-apple/prepared/418adbf844eece92c07720dc2feb46e329701db1/worktree/crates/pika-server/.pgdata
  Postgres:     run 'cargo run -p pikahut -- up --profile postgres' when needed
  Xcode:        /Applications/Xcode-26.2.0.app/Contents/Developer

   Compiling pika-tls v0.1.0 (/Volumes/pikaci-data/pikaci-apple/prepared/418adbf844eece92c07720dc2feb46e329701db1/worktree/crates/pika-tls)
   Compiling hypernote-protocol v0.1.0 (/Volumes/pikaci-data/pikaci-apple/prepared/418adbf844eece92c07720dc2feb46e329701db1/worktree/crates/hypernote-protocol)
   Compiling pika_core v0.1.0 (/Volumes/pikaci-data/pikaci-apple/prepared/418adbf844eece92c07720dc2feb46e329701db1/worktree/rust)
   Compiling pika-agent-control-plane v0.1.0 (/Volumes/pikaci-data/pikaci-apple/prepared/418adbf844eece92c07720dc2feb46e329701db1/worktree/crates/pika-agent-control-plane)
   Compiling pika-relay-profiles v0.1.0 (/Volumes/pikaci-data/pikaci-apple/prepared/418adbf844eece92c07720dc2feb46e329701db1/worktree/crates/pika-relay-profiles)
   Compiling pika-media v0.1.0 (/Volumes/pikaci-data/pikaci-apple/prepared/418adbf844eece92c07720dc2feb46e329701db1/worktree/crates/pika-media)
   Compiling pika-marmot-runtime v0.1.0 (/Volumes/pikaci-data/pikaci-apple/prepared/418adbf844eece92c07720dc2feb46e329701db1/worktree/crates/pika-marmot-runtime)
   Compiling pika-desktop v0.1.0 (/Volumes/pikaci-data/pikaci-apple/prepared/418adbf844eece92c07720dc2feb46e329701db1/worktree/crates/pika-desktop)
    Finished `test` profile [unoptimized + debuginfo] target(s) in 43.43s

Pika dev environment ready
  Rust:         rustc 1.93.0 (254b59607 2026-01-19)
  DATABASE_URL: postgresql:///pika_server?host=/Volumes/pikaci-data/pikaci-apple/prepared/418adbf844eece92c07720dc2feb46e329701db1/worktree/crates/pika-server/.pgdata
  Postgres:     run 'cargo run -p pikahut -- up --profile postgres' when needed
  Xcode:        /Applications/Xcode-26.2.0.app/Contents/Developer


running 8 tests
test app_manager::tests::pending_login_nsec_clears_after_login_error_toast ... ok
test app_manager::tests::stale_full_state_is_dropped ... ok
test app_manager::tests::restoring_session_clears_after_non_login_state ... ok
2026-03-25T17:42:11.089434Z  INFO pika_core: FfiApp::new() starting data_dir=/tmp/nix-shell.YFPiRo/.tmpEojwwz/desktop-recovery-config keychain_group= app_version=1.1.1
test app_manager::tests::nsec_store_uses_owner_only_permissions ... ok
2026-03-25T17:42:11.096244Z  INFO pika_core: FfiApp::new() starting data_dir=/tmp/nix-shell.YFPiRo/.tmpAJL7Gz/desktop-recovery-clear keychain_group= app_version=1.1.1
test app_manager::tests::pending_login_nsec_persists_after_successful_login ... ok
test app_manager::tests::account_created_side_effect_runs_when_stale ... ok
test app_manager::tests::reset_relay_config_to_defaults_writes_default_relays ... ok
2026-03-25T17:42:11.097933Z  WARN pika_core::core: failed to open profile cache db e=unable to open database file: /tmp/nix-shell.YFPiRo/.tmpAJL7Gz/desktop-recovery-clear/profiles.sqlite3
2026-03-25T17:42:11.097933Z  WARN pika_core::core: failed to open profile cache db e=unable to open database file: /tmp/nix-shell.YFPiRo/.tmpEojwwz/desktop-recovery-config/profiles.sqlite3
test app_manager::tests::clear_local_session_for_recovery_clears_persistence ... ok

test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s

2026-03-25T17:42:11.098246Z  WARN pika_core::core: failed to open chat media db e=unable to open database file: /tmp/nix-shell.YFPiRo/.tmpEojwwz/desktop-recovery-config/chat_media.sqlite3
2026-03-25T17:42:11.098246Z  WARN pika_core::core: failed to open chat media db e=unable to open database file: /tmp/nix-shell.YFPiRo/.tmpAJL7Gz/desktop-recovery-clear/chat_media.sqlite3

running 12 tests
test screen::home::tests::effective_selected_chat_falls_back_to_projected_selection ... ok
test screen::home::tests::effective_selected_chat_prefers_optimistic_selection ... ok
test utils::tests::relative_time_recent ... ok
test utils::tests::truncate_short_unchanged ... ok
test utils::tests::truncated_npub_long_variant_is_compact ... ok
test utils::tests::truncate_long_adds_ellipsis ... ok
test utils::tests::truncated_npub_long_is_compact ... ok
test utils::tests::truncated_npub_short_unchanged ... ok
test views::conversation::tests::hypernote_action_bubbles_up_as_event ... ok
test views::conversation::tests::clean_reply_target_removes_missing_message_submissions ... ok
test views::conversation::tests::clean_reply_target_drops_optimistic_entry_after_authoritative_response ... ok
test views::conversation::tests::clean_reply_target_clears_submissions_when_chat_disappears ... ok

test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.30s

apple-host-sanity complete
/tmp/.tmpFmB171/scripts/pikaci-apple-remote.sh: line 737: tar: command not found
warning: failed to fetch remote artifact bundle from /Volumes/pikaci-data/pikaci-apple/runs/apple-run-20260325T174031Z-418adbf844ee/artifact.tgz
Lane #281 · check-pikachat-openclaw-e2e success

./scripts/pikaci-staged-linux-remote.sh run pre-merge-pikachat-openclaw-e2e · lane id pikachat_openclaw_e2e · retries 0 · queued 2026-03-25 17:40:24

queued 7s · ran 30s

target pre-merge-pikachat-openclaw-e2e

last heartbeat 2026-03-25 17:41:01

CI run 20260325T174101Z-00da29a6 · target pre-merge-pikachat-openclaw-e2e

started 2026-03-25 17:40:31

finished 2026-03-25 17:41:01

[pikaci] run started: 20260325T174101Z-00da29a6 · pre-merge-pikachat-openclaw-e2e · Run the VM-backed heavy OpenClaw gateway end-to-end scenario
[pikaci] run finished: 20260325T174101Z-00da29a6 · status=skipped · skipped; no changed files matched 23 filter(s)
error (ignored): SQLite database '/var/lib/pika-news/.cache/nix/eval-cache-v6/8b31440c4333480be544d288be2010944879c3585e7e198d4e2891514f7a6cc8.sqlite' is busy
this derivation will be built:
  /nix/store/w5ijwxp795v8ybc6jra01bs8g9i5xa52-pikaci-0.1.0.drv
[pikaci-tools] staged-linux-remote: resolution=nix-build package_root=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0
[pikaci-tools] staged-linux-remote: pikaci=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0/bin/pikaci
[pikaci-tools] staged-linux-remote: helper=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0/bin/pikaci-fulfill-prepared-output
[pikaci-tools] staged-linux-remote: launcher=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0/bin/pikaci-launch-fulfill-prepared-output
Lane #282 · check-fixture success

./scripts/pikaci-staged-linux-remote.sh run pre-merge-fixture-rust · lane id fixture · retries 0 · queued 2026-03-25 17:40:24

queued 7s · ran 30s

target pre-merge-fixture-rust

last heartbeat 2026-03-25 17:41:01

CI run 20260325T174101Z-7a6724e3 · target pre-merge-fixture-rust

started 2026-03-25 17:40:31

finished 2026-03-25 17:41:01

[pikaci] run started: 20260325T174101Z-7a6724e3 · pre-merge-fixture-rust · Run the VM-backed Rust tests from the fixture lane
[pikaci] run finished: 20260325T174101Z-7a6724e3 · status=skipped · skipped; no changed files matched 39 filter(s)
this derivation will be built:
  /nix/store/w5ijwxp795v8ybc6jra01bs8g9i5xa52-pikaci-0.1.0.drv
[pikaci-tools] staged-linux-remote: resolution=nix-build package_root=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0
[pikaci-tools] staged-linux-remote: pikaci=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0/bin/pikaci
[pikaci-tools] staged-linux-remote: helper=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0/bin/pikaci-fulfill-prepared-output
[pikaci-tools] staged-linux-remote: launcher=/nix/store/0ggl1r4akwjz6v5ccfh9vykc1ijra1ah-pikaci-0.1.0/bin/pikaci-launch-fulfill-prepared-output