Closes #361. Closes #336. One batch, one deploy.
Home
- Its own tab, first in the app bar.
- It has its own page at
-/homeon every device, full width with no sidebar. - g1t, the workspace's address and the g1t mark open it.
- Chat opens on your last conversation, else #general.
- It has its own page at
- One hub, in this order:
- Your move and Live
- This week
- Since you were last here, with Spent and Settled for you
- The workspace: what's moving and waiting, quiet changes, and spend for billing
- Members, and Usage for billing
- Workspace sections are drawn as Home's own compact cards (
GroundTruth compact). Quiet changes is one line when nothing shifted.
Integrations
- GitHub page:
-/settings/integrations/githubshows the installed accounts.- Each account has Import from it and Manage on GitHub.
- Import repositories goes on to the import.
- The GitHub app opens this page instead of jumping to Code (
/new/github).
- Apps is lit in the app bar on every integrations page, with the settings sidebar beside it.
Jobs never wait on their logs (#336)
- Cause: whenever g1t took a second or more to answer, the runner sent its log one line per request. The batch timer restarted before each blocking send. A finished build then stayed
in_progressfor about 20 minutes (Deploys #511 and #531). - Fix:
- Reports go to an uploader on its own thread, which joins waiting batches up to 192 KiB.
- Step states go ahead of log that is still waiting, so a step finishes when its process ends.
donewaits up to 30s for the log, then lets it go.- The server is unchanged.
- Quieter build: the web build in CI prints only warnings and errors, about 700 log lines down to about 27.
CI on the merge queue
merge_groupruns CI on each queue state, againstmerge_group.base_sha.- A push to main that the queue landed only warms the caches. Rust compiles without running tests, TypeScript type-checks, and desktop is skipped.
- It is recognised by asking g1t for a successful
merge_grouprun of CI on that exact commit. The queue lands by fast-forward. - Anything that can't be confirmed runs full CI. A direct push to main still runs everything.
- It is recognised by asking g1t for a successful
- The required
CIcheck is met byCI / merge_group, so no ruleset change is needed for the check. The queue itself is turned on after this merges, by adding amerge_queuerule to "Main stays deployable".
Checks run locally
- Web typecheck
- Web lib tests (1204)
- Production build in CI mode: every route loads (310), and the deploy check passes
cargo test -p g1t-runner(270, plus 5 and 5)g1t-actions-service(135)g1t-actionsrepository_workflows(22)npm run test:deploy(124)ci-affectedtests (11)- prettier