You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
misc/frontier: add list-runners, move-runner; improve restart and make-runner
- list-runners.sh: new script using parallel SSH sweep across all 11 nodes
simultaneously instead of serial per-runner discovery; flags stale runner.node
entries with a warning in the node column
- move-runner.sh: new script to relocate a runner between login nodes with one
retry on start failure
- restart-offline-runners.sh: add retry logic (sleep 5 + second attempt) and
runner.node self-healing (detects and corrects stale node entries when a runner
is found on a different node than recorded)
- make-runner.sh: replace hardcoded RUNNER_VERSION with dynamic GitHub API lookup
falling back to pinned version; print selected version at startup
- misc/frontier/README.md: document new scripts, update quick reference and
troubleshooting sections, note runner.node self-healing behavior
- misc/common/README.md: new file documenting site-agnostic shared scripts
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This directory contains site-agnostic scripts shared between the Phoenix and
4
+
Frontier runner management setups. Scripts here have no site-specific logic and
5
+
can be invoked directly or via thin site-specific wrappers.
6
+
7
+
## Scripts
8
+
9
+
| Script | Purpose |
10
+
|---|---|
11
+
|`rerun-failed.sh`| Rerun failed GitHub Actions workflows on open non-draft MFC PRs and master. Dry-run by default; set `APPLY=1` to actually trigger reruns. |
12
+
13
+
## Usage
14
+
15
+
```bash
16
+
# Dry run — show which failed workflows would be rerun
17
+
bash misc/common/rerun-failed.sh
18
+
19
+
# Actually rerun failed workflows
20
+
APPLY=1 bash misc/common/rerun-failed.sh
21
+
```
22
+
23
+
## Site wrappers
24
+
25
+
`misc/phoenix/rerun-failed.sh` is a thin wrapper that delegates to this
26
+
script, so both `bash misc/phoenix/rerun-failed.sh` and
27
+
`bash misc/common/rerun-failed.sh` invoke the same logic.
|`config.sh`| Shared configuration, constants, GitHub API helpers, and CWD-based process management functions. Sourced by all other scripts. |
52
62
|`check-runners.sh`| SSH to each login node, show Runner.Listener processes with name, status (idle/BUSY), and RSS memory. |
63
+
|`list-runners.sh`| List all runners with GitHub API status, actual node (from parallel SSH sweep), and RSS memory. Flags stale `runner.node` entries. |
53
64
|`make-runner.sh`| Download runner binary, register with GitHub via API, start on target node. Usage: `make-runner.sh <num> [login-node]`|
65
+
|`move-runner.sh`| Move a runner to a different login node: stop on current node, update `runner.node`, start on target. Usage: `move-runner.sh <runner-name> <target-node>`|
54
66
|`deploy-runners.sh`| Deploy multiple runners across login nodes in parallel. Usage: `deploy-runners.sh <start-num> <node1> [node2 ...]`|
55
-
|`restart-offline-runners.sh`| Query GitHub for offline frontier runners, locate via CWD-based discovery, stop stale processes, then restart in parallel. Prints final status. |
67
+
|`restart-offline-runners.sh`| Query GitHub for offline frontier runners, locate via CWD-based discovery, stop stale processes, then restart in parallel. Self-heals stale `runner.node` files. Prints final status. |
56
68
|`stop-runner.sh`| Locate runner via CWD-based discovery, stop the process, and deregister from GitHub. Usage: `stop-runner.sh <runner-name>`|
57
69
|`../common/rerun-failed.sh`| Rerun failed GitHub Actions workflows on open PRs and master. No site-specific code. |
58
70
59
71
## Troubleshooting
60
72
61
73
**Runner goes OFFLINE repeatedly on the same node** — That login node may have
62
-
process culling or high memory pressure. Move it by stopping the runner and
63
-
restarting it on a different node:
74
+
process culling or high memory pressure. Move it to a different node:
0 commit comments