Skip to content
109 linesCodeBlameRaw

Pick any line to see why it is the way it is: the commit, the pull request and issue it came from, and what the agent was thinking.

The desktop app is 0.3.4, and the runner has a window of its own. Beside the title bar's Settings button a chip says what the runner is doing, live, with a dot in its colour (Runner running, Running a job, Running 2 jobs, Runner starting, Runner updating, Runner stopped, Runner offline, Runner needs you), as Docker Desktop shows its engine; in a narrow window only the dot shows. It opens the Runner window, as the tray's runner row now does: at its top what the whole runner is doing, with what it is running, its version and workspace, and its own Stop or Start; then each kind of job's card as before; then its setup (running jobs here at all, how jobs run, the workspace, the computer with Check for runner updates and View on g1t); and its log, open and following along as it is written. Settings keeps the runner as one line, what it is doing with Open runner, and each window saves only its own settings over what the app has now, so neither undoes the other's. The chip's words are diagnosis.rs's, the Runner window is made off the main thread as Settings now is, and it has a capability of its own with only the commands it uses; the title bar may now ask the runner's status. Two things fixed on the way: a settings row hidden until it applies, Restart to change the title bar, showed all the time, since its row's display beat the hidden attribute; and in a narrow window the title bar's buttons ran over the search, which now shrinks instead. The desktop guide describes the chip, the Runner window and where each runner setting now is.1<!doctype html>
2<!--
3 The runner, in a window of its own, apart from the settings: opened from
Merge branch 'main' into rm-agents4 the dot beside the title bar's settings button, or the tray, while the
5 window shows no page of the site's to draw the runner menu, and where
6 jobs are taken out of the sandbox, which only a page bundled with the
7 app may do (src/settings.rs runner_menu). What it is doing, each kind of job it
The desktop app is 0.3.4, and the runner has a window of its own. Beside the title bar's Settings button a chip says what the runner is doing, live, with a dot in its colour (Runner running, Running a job, Running 2 jobs, Runner starting, Runner updating, Runner stopped, Runner offline, Runner needs you), as Docker Desktop shows its engine; in a narrow window only the dot shows. It opens the Runner window, as the tray's runner row now does: at its top what the whole runner is doing, with what it is running, its version and workspace, and its own Stop or Start; then each kind of job's card as before; then its setup (running jobs here at all, how jobs run, the workspace, the computer with Check for runner updates and View on g1t); and its log, open and following along as it is written. Settings keeps the runner as one line, what it is doing with Open runner, and each window saves only its own settings over what the app has now, so neither undoes the other's. The chip's words are diagnosis.rs's, the Runner window is made off the main thread as Settings now is, and it has a capability of its own with only the commands it uses; the title bar may now ask the runner's status. Two things fixed on the way: a settings row hidden until it applies, Restart to change the title bar, showed all the time, since its row's display beat the hidden attribute; and in a narrow window the title bar's buttons ran over the search, which now shrinks instead. The desktop guide describes the chip, the Runner window and where each runner setting now is.8 runs and the job each is running, how jobs run and for which workspace,
9 its updates and its log, live (runner.js). Its words are the app's
10 (src/runner/diagnosis.rs).
11-->
12<html lang="en">
13 <head>
14 <meta charset="utf-8" />
15 <meta name="viewport" content="width=device-width, initial-scale=1" />
16 <meta name="color-scheme" content="dark" />
17 <title>g1t runner</title>
18 <link rel="stylesheet" href="settings.css" />
19 </head>
20 <body>
21 <!-- Its title bar, when g1t draws its own (src/frame.rs): drag it to move the window. -->
22 <header class="titlebar" id="titlebar" hidden>
23 <span>Runner</span>
24 <button type="button" id="close-window" class="caption" aria-label="Close" title="Close" tabindex="-1">
25 <svg viewBox="0 0 16 16" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" aria-hidden="true">
26 <line x1="4" y1="4" x2="12" y2="12" />
27 <line x1="12" y1="4" x2="4" y2="12" />
28 </svg>
29 </button>
30 </header>
31 <div class="page">
32 <main>
33 <h1>Runner</h1>
34 <p class="muted lede">Your workspace's <code>runs-on: self-hosted</code> jobs run on this computer while g1t is open, at no cost.</p>
35
36 <!-- What the whole runner is doing, as the title bar's chip says it, with its Start or Stop. -->
37 <div class="engine" id="engine">
38 <span class="dot" id="engine-dot" aria-hidden="true"></span>
39 <span class="engine-text">
40 <strong id="engine-label" role="status" aria-live="polite">Runner</strong>
41 <span class="muted" id="engine-sub">&nbsp;</span>
42 </span>
43 <button type="button" id="engine-toggle" hidden>Stop</button>
44 </div>
45
46 <section aria-labelledby="kinds-heading" id="runner-section">
47 <h2 id="kinds-heading" class="visually-hidden">Jobs</h2>
48 <!--
49 What affects the whole runner (signed out, no workspace, turned off,
50 the sandbox down): why, and how to fix it (src/runner/diagnosis.rs).
51 Hidden when the cards below say it all.
52 -->
53 <div class="diagnosis" id="runner-diagnosis" role="status" aria-live="polite" hidden>
54 <span class="dot" id="runner-dot" aria-hidden="true"></span>
55 <span class="diagnosis-text">
56 <strong id="runner-title">Runner</strong>
57 <span class="muted" id="runner-cause"></span>
58 <span id="runner-fix"></span>
59 <span class="buttons" id="runner-actions"></span>
60 </span>
61 </div>
62 <!-- Sandboxed: each kind of job it runs, a card of its own, started and stopped on its own. -->
63 <div class="kinds" id="runner-kinds" role="list" aria-label="Kinds of job this computer runs" hidden></div>
64 </section>
65
66 <section aria-labelledby="setup-heading">
67 <h2 id="setup-heading">Setup</h2>
68 <label class="setting">
69 <span
70 ><strong>Run jobs on this computer while g1t is open</strong
71 ><span class="muted">Off, nothing runs here until you turn it on again.</span></span
72 >
73 <input type="checkbox" role="switch" id="runner" />
74 </label>
75 <label class="setting">
76 <span><strong>How jobs run</strong><span class="muted" id="runner-backend-note">&nbsp;</span></span>
77 <select id="runnerBackend">
78 <option value="sandboxed">Sandboxed (recommended)</option>
79 <option value="docker">In Docker</option>
80 <option value="host">Directly on this computer</option>
81 </select>
82 </label>
83 <label class="setting">
84 <span><strong>Workspace</strong><span class="muted" id="runner-workspace-note">The workspace whose jobs it runs. Only a workspace's owners can add runners to it.</span></span>
85 <select id="runnerWorkspace"></select>
86 </label>
87 <div class="setting">
88 <span><strong id="runner-machine">This computer</strong><span class="muted" id="runner-version">&nbsp;</span></span>
89 <span class="buttons"
90 ><button type="button" id="runner-check" hidden>Check for runner updates</button
91 ><button type="button" id="runner-view">View on g1t</button></span
92 >
93 </div>
94 </section>
95
96 <section aria-labelledby="log-heading">
97 <h2 id="log-heading">Log</h2>
98 <pre class="live-log" id="runner-log" tabindex="0" aria-label="The runner's recent log">Nothing yet.</pre>
99 <p class="buttons"><button type="button" id="runner-open-log">Open the whole log</button></p>
100 </section>
101
102 <p class="error" id="error" role="alert" hidden></p>
103 <p class="muted small foot"><a href="https://docs.g1t.sh/guides/desktop/#the-runner">About the runner</a></p>
104 </main>
105 </div>
Merge branch 'main' into rm-agents106 <script src="busy.js"></script>
The desktop app is 0.3.4, and the runner has a window of its own. Beside the title bar's Settings button a chip says what the runner is doing, live, with a dot in its colour (Runner running, Running a job, Running 2 jobs, Runner starting, Runner updating, Runner stopped, Runner offline, Runner needs you), as Docker Desktop shows its engine; in a narrow window only the dot shows. It opens the Runner window, as the tray's runner row now does: at its top what the whole runner is doing, with what it is running, its version and workspace, and its own Stop or Start; then each kind of job's card as before; then its setup (running jobs here at all, how jobs run, the workspace, the computer with Check for runner updates and View on g1t); and its log, open and following along as it is written. Settings keeps the runner as one line, what it is doing with Open runner, and each window saves only its own settings over what the app has now, so neither undoes the other's. The chip's words are diagnosis.rs's, the Runner window is made off the main thread as Settings now is, and it has a capability of its own with only the commands it uses; the title bar may now ask the runner's status. Two things fixed on the way: a settings row hidden until it applies, Restart to change the title bar, showed all the time, since its row's display beat the hidden attribute; and in a narrow window the title bar's buttons ran over the search, which now shrinks instead. The desktop guide describes the chip, the Runner window and where each runner setting now is.107 <script src="runner.js"></script>
108 </body>
109</html>

This file's history is long; its oldest lines are credited to the oldest commit read.