Skip to content

Where people and agents ship software together. The open-source git platform for the whole job: issues, agents, checks and deploys to the edge.

Home is its own tab and one hub; jobs never wait on their logs; CI tests in the merge queue, not again on main #362

Mergedsyntaqx merged 361-home-tab into main
syntaqxopened this pull request

Closes #361. Closes #336. One batch, one deploy.

Home

  • Its own tab, first in the app bar.
    • It has its own page at -/home on 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.
  • One hub, in this order:
    1. Your move and Live
    2. This week
    3. Since you were last here, with Spent and Settled for you
    4. The workspace: what's moving and waiting, quiet changes, and spend for billing
    5. 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/github shows 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_progress for 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.
    • done waits 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_group runs CI on each queue state, against merge_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_group run 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.
  • The required CI check is met by CI / merge_group, so no ruleset change is needed for the check. The queue itself is turned on after this merges, by adding a merge_queue rule 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-actions repository_workflows (22)
  • npm run test:deploy (124)
  • ci-affected tests (11)
  • prettier
syntaqxturned on auto-merge (merge commit)·
syntaqxturned off auto-merge·
syntaqxchanged the title from “Home is its own tab: first in the app bar, where g1t opens” to “Home is its own tab and one hub; jobs never wait on their logs; CI tests in the merge queue, not again on main”·
syntaqxturned on auto-merge (merge commit)·
syntaqxmerged this·
syntaqxdeleted the 361-home-tab branch·

All checks have passed

2 passed · on 048a058

Workflows

CI / pull_request — CI passedDetails
Dependency review — No dependency changesDetails

361-home-tab was deleted

It can be made again at 048a058, where it was.

Sign in to comment.