بنقرة واحدة
yoyopod-rust-artifact
Manual fallback for fetching CI Rust artifacts onto the Pi (prefer /yoyopod-deploy)
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Manual fallback for fetching CI Rust artifacts onto the Pi (prefer /yoyopod-deploy)
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Commit-safe Rust-first dev-lane branch/SHA deploy to Raspberry Pi
Restart the active YoYoPod dev lane service on Raspberry Pi
Tail YoYoPod runtime/service logs from Raspberry Pi
Capture a screenshot of the active YoYoPod display from Raspberry Pi
Health check for Raspberry Pi lanes, runtime, connectivity, processes, memory, recent logs
Sync a committed branch / SHA to the Raspberry Pi dev lane
| name | yoyopod-rust-artifact |
| description | Manual fallback for fetching CI Rust artifacts onto the Pi (prefer /yoyopod-deploy) |
| disable-model-invocation | true |
| allowed-tools | ["Read","Bash(git status:*)","Bash(git branch --show-current:*)","Bash(git rev-parse:*)","Bash(git push:*)","Bash(gh run:*)","Bash(gh pr:*)","Bash(mkdir:*)","Bash(chmod:*)","Bash(ssh:*)","Bash(scp:*)","Bash(yoyopod target:*)"] |
/yoyopod-deployyoyopod target deploy (skill /yoyopod-deploy) replaces this entire
flow with a single command. It:
gh run download for yoyopod-rust-device-arm64-<sha>device/*/build/yoyopod-dev.service and verifies startupUse this skill only when you need to do part of that flow manually —
for example debugging a half-broken Pi state, swapping a single
artifact, or working around a gh CLI auth issue.
Rust binaries for hardware validation must come from GitHub Actions
artifacts for the exact commit being tested. Do not run cargo build
on the Raspberry Pi Zero 2W unless the user explicitly overrides this
rule.
Use the artifact whose suffix equals the exact commit under test, not a pull request merge SHA:
yoyopod-rust-device-arm64-<sha>
It contains:
yoyopod-rust-device-arm64-<sha>.tar.gz
That tarball extracts an install-ready device/.../build/... tree:
| Path inside extracted tree | Purpose |
|---|---|
device/runtime/build/yoyopod-runtime | Top-level Rust runtime entrypoint. |
device/ui/build/yoyopod-ui-host | Whisplay UI worker and LVGL renderer. |
device/media/build/yoyopod-media-host | Rust media/mpv worker. |
device/voip/build/yoyopod-voip-host | Rust Liblinphone/SIP worker. |
device/network/build/yoyopod-network-host | Rust SIM7600/PPP/GPS worker. |
device/cloud/build/yoyopod-cloud-host | Rust cloud MQTT worker. |
device/power/build/yoyopod-power-host | Rust PiSugar/power worker. |
device/speech/build/yoyopod-speech-host | Rust speech/Ask worker. |
/yoyopod-deploy cannot be used)Check local git status. If there are local changes, commit them first or stop and ask the user whether this is a debugging exception.
Resolve branch and commit.
git branch --show-current
git rev-parse HEAD
Push the commit. Run git push. If there is no upstream, run
git push -u origin <branch>.
Find the successful CI run for the exact commit.
gh run list --workflow CI --branch <branch> --json databaseId,headSha,status,conclusion --limit 20
Use only a run whose headSha equals the commit from step 2 and
whose conclusion is success. If the run is still queued or in
progress, wait. If it failed, inspect the failed job before any
hardware step.
Download and extract the Rust device bundle locally.
mkdir -p .artifacts/rust-device/<sha>
gh run download <run-id> --name yoyopod-rust-device-arm64-<sha> --dir .artifacts/rust-device/<sha>
tar -xzf .artifacts/rust-device/<sha>/yoyopod-rust-device-arm64-<sha>.tar.gz -C .artifacts/rust-device/<sha>
Make sure the Pi dev checkout is on the same commit.
yoyopod target mode activate dev
# then deploy without artifact (this is the simple-case fallback that
# only re-syncs git state; binaries follow in step 7):
yoyopod target deploy --sha <sha>
Install the CI-built Rust binaries on the Pi (only if step 6 did
not already do it — yoyopod target deploy normally does this end
to end).
scp .artifacts/rust-device/<sha>/yoyopod-rust-device-arm64-<sha>.tar.gz <user>@<host>:/tmp/yoyopod-rust-device-arm64-<sha>.tar.gz
ssh <user>@<host> 'cd /opt/yoyopod-dev/checkout && \
tar -xzf /tmp/yoyopod-rust-device-arm64-<sha>.tar.gz && \
chmod +x device/runtime/build/yoyopod-runtime \
device/ui/build/yoyopod-ui-host \
device/media/build/yoyopod-media-host \
device/voip/build/yoyopod-voip-host \
device/network/build/yoyopod-network-host \
device/cloud/build/yoyopod-cloud-host \
device/power/build/yoyopod-power-host \
device/speech/build/yoyopod-speech-host'
yoyopod target restart
Validate. Automated on-Pi validation returns in Round 2 of the CLI rebuild. Until then, validate manually:
yoyopod target status
yoyopod target logs --follow
journalctl -u yoyopod-dev.service -f
Exercise the changed surface on the device.
Report exact provenance. Include the branch, commit SHA, CI run ID, artifact names, Pi host, command result, and whether the dev service was left running.