@@ -39,12 +39,17 @@ reserved aliases and fail until artifact transfer is wired end to end. |
| 39 | 39 | ```sh |
| 40 | 40 | shithubd admin runner register \ |
| 41 | 41 | --name smoke-runner-1 \ |
| 42 | | - --labels self-hosted,linux,ubuntu-latest \ |
| 43 | | - --capacity 1 |
| 42 | + --labels self-hosted,linux,ubuntu-latest,x64 \ |
| 43 | + --capacity 1 \ |
| 44 | + --output json |
| 44 | 45 | ``` |
| 45 | 46 | |
| 46 | | -3. Start `shithubd-runner` with the printed token. For production hosts, use |
| 47 | | - the Ansible/systemd path in [runner-deploy.md](./runner-deploy.md). |
| 47 | +3. Start `shithubd-runner` with the returned token. For production hosts, use |
| 48 | + one token per host and store it in ansible-vault, host vars, or the deployment |
| 49 | + secret store. The role writes `/etc/shithubd-runner/config.toml` with |
| 50 | + restrictive permissions. Use `--expires-in` only when the automation rotates |
| 51 | + the runner token before that deadline; the current runner uses the |
| 52 | + registration token for every heartbeat. |
| 48 | 53 | 4. Push a `run:`-only workflow: |
| 49 | 54 | |
| 50 | 55 | ```yaml |
@@ -155,6 +160,13 @@ On the app host, inspect runner registration and heartbeat state: |
| 155 | 160 | shithubd admin actions runner list |
| 156 | 161 | ``` |
| 157 | 162 | |
| 163 | +Inspect queued jobs by requested `runs-on` label: |
| 164 | + |
| 165 | +```sh |
| 166 | +shithubd admin runner queue |
| 167 | +shithubd admin runner queue --output json |
| 168 | +``` |
| 169 | + |
| 158 | 170 | Important metrics: |
| 159 | 171 | |
| 160 | 172 | - `shithub_actions_queue_depth{resource="runs|jobs"}` |
@@ -198,7 +210,7 @@ Useful knobs: |
| 198 | 210 | |
| 199 | 211 | - `SHITHUB_ACTIONS_VUS=50` controls concurrent virtual users. |
| 200 | 212 | - `SHITHUB_ACTIONS_DURATION=10m` controls the steady-state window. |
| 201 | | -- `SHITHUB_RUNNER_LABELS=self-hosted,linux,ubuntu-latest` sets heartbeat |
| 213 | +- `SHITHUB_RUNNER_LABELS=self-hosted,linux,ubuntu-latest,x64` sets heartbeat |
| 202 | 214 | labels. |
| 203 | 215 | - `SHITHUB_RUNNER_CAPACITY=17` keeps three runners near the 50-concurrent |
| 204 | 216 | target. |
@@ -240,8 +252,11 @@ active container, and reports terminal `cancelled`. |
| 240 | 252 | - **Run never appears:** confirm the workflow file is under |
| 241 | 253 | `.shithub/workflows/`, parse it with `shithubd admin actions parse <file>`, |
| 242 | 254 | and verify the trigger event matches `on:`. |
| 243 | | -- **Run stays queued:** confirm a runner is registered with matching labels and |
| 244 | | - capacity, then inspect runner journal output and heartbeat metrics. |
| 255 | +- **Run stays queued:** open the run page to see the requested runner labels, |
| 256 | + then run `shithubd admin runner queue` and confirm a live runner is registered |
| 257 | + with matching labels and capacity. Unsupported hosted labels such as |
| 258 | + `windows-latest` and `macos-latest` intentionally remain queued until an |
| 259 | + operator registers matching runners. |
| 245 | 260 | - **Step logs buffer:** verify the Caddy route above and confirm the SSE route |
| 246 | 261 | is still mounted outside compression and short timeouts. |
| 247 | 262 | - **`actions/checkout@v4` fails:** confirm the job is still running, the repo |