Don't watch. Wander. CLI toolkit for monitoring GitHub Actions. No polling; optional macOS notifications when runs finish.
After every git push that triggers GitHub Actions, start Wander in background mode unless the user opts out.
.workflows.yml exists in the repo root: prefer a project wrapper (scripts/watch-*.sh) when present."$WANDER_HOME/watch-workflow-bg.sh" (or pass the workflow file the project uses).If there is no .workflows.yml but .github/workflows/ exists, offer monitoring but do not auto-start without confirmation.
git pushgh CLI installed and authenticatedjq (used by scripts)WANDER_HOME or default ~/code/wandergit clone https://github.com/ERerGB/wander.git ~/code/wander
cd ~/code/wander
chmod +x *.sh
Add to ~/.zshrc or ~/.bashrc:
export WANDER_HOME="${WANDER_HOME:-$HOME/code/wander}"
export PATH="$WANDER_HOME:$PATH"
alias wf='watch-workflow.sh'
alias wfbg='watch-workflow-bg.sh'
alias wfdt='watch-workflow-detached.sh'
Or run ./scripts/install-personal.sh from the Wander repo (see main README).
cd /path/to/wander
./smart-push.sh
Suggests smoke / e2e / skip from changed files, then push and monitor.
git push
cd /path/to/target-repo
"$WANDER_HOME/watch-workflow-bg.sh" publish.yml
| Mode | Script | Use case |
|---|---|---|
| ------ | -------- | ---------- |
| Foreground | watch-workflow.sh | Block until result |
| Background | watch-workflow-bg.sh | Keep working; notify when done |
| Detached | watch-workflow-detached.sh | Close terminal; logs under ~/.wander_logs/ |
#!/bin/bash
# scripts/watch-publish.sh
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
WANDER_DIR="${WANDER_DIR:-$(dirname "$REPO_ROOT")/wander}"
cd "$REPO_ROOT"
exec "$WANDER_DIR/watch-workflow-bg.sh" publish.yml "$@"
Then: git push && ./scripts/watch-publish.sh
Examples elsewhere: openclaw-uninstall uses ./scripts/watch-publish.sh and watch-publish-detached.sh when present.
For check_window / expected_duration, add .workflows.yml at project root or set WORKFLOW_REGISTRY_FILE:
workflows:
- name: "publish.yml"
description: "Publish to ClawHub"
check_window: 120
expected_duration: 30
category: "publish"
Default check_window is 300 seconds when a workflow is not listed.
| Scenario | Behavior | Tip |
|---|---|---|
| ---------- | ---------- | ----- |
| Workflow finishes in under ~30s | May show "already completed" + quick notify | watch-workflow-bg.sh detects recent completion |
| Push then monitor immediately | Run may not appear for 5–10s | Scripts wait up to ~30s for the run to show |
| Wrong branch | No workflow after wait window | Confirm workflow on: filters match current branch |
| No lockfile in repo | setup-node with cache: npm can fail | Remove cache: npm if there is no package lockfile |
gh run view --log-failed git push, or gh run rerun --failed WANDER_HOME if set$(dirname "$REPO_ROOT")/wander (common in wrappers)~/code/wander共 2 个版本