Home

madison / open-git

public
Overview Code History Branches Pull requestsIssuesInsights Campfire Docs
main
HomeOverview Code PRsIssues

runners + deploy

4 months ago

6076f5d
Authored
Madison5/10/2026, 10:00:26 AM

Parentbea513b

202 files changed
  • apps/cli/bin/lodestone.mjs+18−0
  • apps/cli/package.json+22−0
  • apps/cli/src/index.ts+367−0
  • apps/cli/src/runner-commands.ts+141−0
  • apps/cli/tsconfig.json+10−0
  • apps/git-gateway/src/db.ts+52−2
  • apps/git-gateway/src/git-http-backend.ts+33−1
  • apps/git-gateway/src/server.ts+80−3
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/FETCH_HEAD+1−1
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/01/61be6c2504e920257134c8fe61fe3ba359b2d2——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/04/4636a65ff67410fad601f0c39978108fefcea0——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/04/59d42278575eb49ff6c92c40b651f11aa7b081——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/04/f1f4f8c23f38fa6ec278797c7550a697684e8f——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/09/66d8749ad20b5c73ce5b83a99577fcb225b7cb——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/11/3f062cff47e810fd93d31f031e66690a1f1bb7——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/11/594182a63ac7d39dadd4a495270cd1a8573726——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/15/42682d65a3249a24658dae84de6a4d74b445b4——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/16/10a36fdfe6a89e643c412f703110766fee46f2——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/2d/f48adfda380cae420dbe096ce9ea05c5176fed——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/31/09f091b40730ef8f1b807c149f91b349e5f689+2−0
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/31/f1031daea152daafb4abc137e0653d6ee0cc59——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/31/f2b02270cf108a9a941a7ca1525e5ba2a97e8b——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/33/4f67340bb2440c3eb2c55cabb1cb801da2c8a9——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/36/d1195ea5e2206bfdc8af6faa5abeeb82ab4117——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/38/e38ae6fd22fcf5804c7eb5743c87315a69d9e0+3−0
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/3d/1e1eebe040fa6bde1a1f1a093b37814802e36c——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/42/d2f0a8b348ded592ca35e0d524a42e2be39d4b——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/5a/3bd9a45b9c8440a91cc1ddefc30cf462fec45f——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/5b/9903afc7c058505515b7dc42cebe140565f507——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/5f/a51e695b3e6e96f4f56ea7338e2589f8002455+1−0
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/62/8bc4103cdd3e297135f7a3f62937bc12551cc0——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/6f/c33c4796dbdb2de4ac88eb06a3fec714f0c1c2——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/73/62352d2631e29f3186ccac49611fd787349b3a——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/88/a9ca24f474b2d1bb2d41afae1e34929b55c01e——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/8f/ac9d3bf404e7dea9d9815017985dc9218b5c22+3−0
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/91/d1c037b09e0177d372f0ad3a49604988289e50——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/94/6f9e04b9d79f5060512a99d6aeed1dba8bb429——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/94/705d980921de34cec74a1074d96959ef50bd7b——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/9d/7cf5e44ef1f642f6ed03c87bfd7a6d3a7aa2ad——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/9e/9526fe4225e897f5433912456133962e5ba16a——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/9f/534b16ff00a66aada1fe0eae4dac61d714d246+1−0
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/a2/442165cab163a410bc4485c1077874d037065f——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/a5/8f90850f1cc31a919cbbb891df2d76238bfd27——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/a7/6e9e6c3ff2e4a21e5de1c5f2cd152f37ac43dc——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/ae/108288746f242b7418a7643983e87b419002e0+1−0
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/b0/17399d4c8214e82775861f3d253626f47e28ca+1−0
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/be/668f0065ac86153b611936d35fb15acc7de338+2−0
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/bf/6d9c617142d6bc41c4d96e60ba4c20206d0894+2−0
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/d2/a87a48e0546da46b74f7ad846eff7adaeaba8b——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/d2/f0a9fb4f2670eef6a3c9dba5762650bbbbd757——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/d4/79365ad1e4d789ccbbdd18c589bbf2b893af5a——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/d5/42792c9bc8aea44b1c9921d46ea992364d75e4——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/dc/2949bc9ac4729536a138fd9ee20244e636cff9+2−0
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/df/19afc952e7525daf0aec9b0a605b4c48f7a3fc——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/e9/6dbdf6d273fe57569e36d92bf182d6f770ca6f——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/f5/3e155415228def66ce1300427c5831be841eaa——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/objects/f5/bfb2c6d2ac2b06c1c2791f69768d7712668e13——
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/refs/heads/main+1−1
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/refs/heads/runner-example+1−0
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/refs/heads/runners+1−0
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/refs/remotes/pr-heads/527af8d7-f1a9-419a-9edf-abefeca89aa7+1−0
  • apps/git-worker/.lodestone/repos/madison-local_lodestone-local.git/refs/remotes/pr-heads/629f65cb-2195-4480-90bf-ea437dc92b78+0−1
  • apps/git-worker/package.json+2−0
  • apps/managed-runner/package.json+24−0
  • apps/managed-runner/src/index.ts+148−0
  • apps/managed-runner/tsconfig.json+13−0
  • apps/runner/bin/lodestone-runner.mjs+16−0
  • apps/runner/package.json+24−0
  • apps/runner/src/index.ts+216−0
  • apps/runner/tsconfig.json+10−0
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/FETCH_HEAD+0−1
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/01/61be6c2504e920257134c8fe61fe3ba359b2d2——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/04/19e728f60922aaa96b6323fd6a34beb2d33d5e——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/04/4636a65ff67410fad601f0c39978108fefcea0——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/04/59d42278575eb49ff6c92c40b651f11aa7b081——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/04/f1f4f8c23f38fa6ec278797c7550a697684e8f——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/09/66d8749ad20b5c73ce5b83a99577fcb225b7cb——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/11/3f062cff47e810fd93d31f031e66690a1f1bb7——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/15/42682d65a3249a24658dae84de6a4d74b445b4——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/16/10a36fdfe6a89e643c412f703110766fee46f2——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/2d/f48adfda380cae420dbe096ce9ea05c5176fed——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/31/09f091b40730ef8f1b807c149f91b349e5f689+2−0
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/31/f1031daea152daafb4abc137e0653d6ee0cc59——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/31/f2b02270cf108a9a941a7ca1525e5ba2a97e8b——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/33/4f67340bb2440c3eb2c55cabb1cb801da2c8a9——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/36/d1195ea5e2206bfdc8af6faa5abeeb82ab4117——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/3d/1e1eebe040fa6bde1a1f1a093b37814802e36c——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/42/d2f0a8b348ded592ca35e0d524a42e2be39d4b——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/5a/3bd9a45b9c8440a91cc1ddefc30cf462fec45f——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/5b/9903afc7c058505515b7dc42cebe140565f507——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/5f/a51e695b3e6e96f4f56ea7338e2589f8002455+1−0
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/62/8bc4103cdd3e297135f7a3f62937bc12551cc0——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/6f/c33c4796dbdb2de4ac88eb06a3fec714f0c1c2——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/73/62352d2631e29f3186ccac49611fd787349b3a——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/7e/623b45e9370b0230a7ba07fb94886fa751ab41——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/88/a9ca24f474b2d1bb2d41afae1e34929b55c01e——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/8b/18e822f097be9f2465ebea569eeda654a90418——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/8f/ac9d3bf404e7dea9d9815017985dc9218b5c22+3−0
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/91/d1c037b09e0177d372f0ad3a49604988289e50——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/94/6f9e04b9d79f5060512a99d6aeed1dba8bb429——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/94/705d980921de34cec74a1074d96959ef50bd7b——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/9d/7cf5e44ef1f642f6ed03c87bfd7a6d3a7aa2ad——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/9e/9526fe4225e897f5433912456133962e5ba16a——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/9f/534b16ff00a66aada1fe0eae4dac61d714d246+1−0
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/a2/442165cab163a410bc4485c1077874d037065f——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/a5/8f90850f1cc31a919cbbb891df2d76238bfd27——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/a7/6e9e6c3ff2e4a21e5de1c5f2cd152f37ac43dc——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/ae/108288746f242b7418a7643983e87b419002e0+1−0
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/b0/17399d4c8214e82775861f3d253626f47e28ca+1−0
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/be/668f0065ac86153b611936d35fb15acc7de338+2−0
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/bf/6d9c617142d6bc41c4d96e60ba4c20206d0894+2−0
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/d2/a87a48e0546da46b74f7ad846eff7adaeaba8b——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/d2/f0a9fb4f2670eef6a3c9dba5762650bbbbd757——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/d4/79365ad1e4d789ccbbdd18c589bbf2b893af5a——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/d5/42792c9bc8aea44b1c9921d46ea992364d75e4——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/dc/2949bc9ac4729536a138fd9ee20244e636cff9+2−0
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/e7/ca4c7db109205ce9e0636a0859a5bae3a79dac——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/e9/6dbdf6d273fe57569e36d92bf182d6f770ca6f——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/f5/3e155415228def66ce1300427c5831be841eaa——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/objects/f5/bfb2c6d2ac2b06c1c2791f69768d7712668e13——
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/refs/heads/docs2+1−1
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/refs/heads/main+1−1
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/refs/heads/runner-example+1−0
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/refs/heads/runners+1−0
  • apps/web/.lodestone/repos/madison-local_lodestone-local.git/refs/remotes/pr-heads/629f65cb-2195-4480-90bf-ea437dc92b78+0−1
  • apps/web/app/[username]/[repository]/issues/[number]/issue-comment-composer.tsx+1−1
  • apps/web/app/[username]/[repository]/issues/[number]/issue-conversation.tsx+6−6
  • apps/web/app/[username]/[repository]/issues/[number]/issue-inline-reply-composer.tsx+1−1
  • apps/web/app/[username]/[repository]/issues/[number]/page.tsx+72−51
  • apps/web/app/[username]/[repository]/issues/page.tsx+85−94
  • apps/web/app/[username]/[repository]/page.tsx+215−134
  • apps/web/app/[username]/[repository]/pulls/[number]/inline-reply-composer.tsx+1−1
  • apps/web/app/[username]/[repository]/pulls/[number]/page.tsx+263−237
  • apps/web/app/[username]/[repository]/pulls/[number]/pull-request-comment-composer.tsx+1−1
  • apps/web/app/[username]/[repository]/pulls/[number]/pull-request-conversation.tsx+65−29
  • apps/web/app/[username]/[repository]/pulls/[number]/pull-request-forms.tsx+3−2
  • apps/web/app/[username]/[repository]/pulls/[number]/pull-request-git-graph.tsx+0−21
  • apps/web/app/[username]/[repository]/pulls/[number]/pull-request-merge-box.tsx+15−24
  • apps/web/app/[username]/[repository]/pulls/new/actions.ts+13−2
  • apps/web/app/[username]/[repository]/pulls/page.tsx+98−89
  • apps/web/app/[username]/[repository]/settings/actions.ts+30−0
  • apps/web/app/[username]/[repository]/settings/repository-settings-forms.tsx+3−1
  • apps/web/app/api/ci/_lib/runner-auth.ts+33−0
  • apps/web/app/api/ci/jobs/[jobId]/artifacts/route.ts+63−0
  • apps/web/app/api/ci/jobs/[jobId]/cancel/route.ts+26−0
  • apps/web/app/api/ci/jobs/[jobId]/lease/route.ts+25−0
  • apps/web/app/api/ci/jobs/[jobId]/logs/route.ts+128−0
  • apps/web/app/api/ci/jobs/[jobId]/rerun/route.ts+26−0
  • apps/web/app/api/ci/jobs/[jobId]/status/route.ts+41−0
  • apps/web/app/api/ci/jobs/[jobId]/steps/[stepId]/status/route.ts+37−0
  • apps/web/app/api/ci/repos/[repoId]/runner-registration-token/route.ts+32−0
  • apps/web/app/api/ci/runners/[runnerId]/heartbeat/route.ts+39−0
  • apps/web/app/api/ci/runners/[runnerId]/jobs/claim/route.ts+28−0
  • apps/web/app/api/ci/runners/[runnerId]/route.ts+34−0
  • apps/web/app/api/ci/runners/register/route.ts+44−0
  • apps/web/app/api/health/route.ts+8−0
  • apps/web/app/ci/runs/[runId]/jobs/[jobId]/page.tsx+906−0
  • apps/web/app/ci/runs/[runId]/jobs/[jobId]/workflow-job-log-viewer.tsx+139−0
  • apps/web/app/settings/account/api-keys/api-keys-client.tsx+30−0
  • apps/web/app/settings/account/api-keys/page.tsx+3−26
  • apps/web/app/settings/layout.tsx+4−0
  • apps/web/app/waitlist/page.tsx+1−1
  • apps/web/components/app-navbar.tsx+1−1
  • apps/web/{app/[username]/[repository] => components}/conversation/comment-composer-shared.tsx+0−0
  • apps/web/{app/[username]/[repository] => components}/conversation/comment-initials.ts+0−0
  • apps/web/{app/[username]/[repository] => components}/conversation/conversation-actor-line.tsx+1−1
  • apps/web/{app/[username]/[repository] => components}/conversation/conversation-chrome.tsx+0−0
  • apps/web/{app/[username]/[repository] => components}/conversation/conversation-meta.tsx+1−1
  • apps/web/{app/[username]/[repository] => components}/conversation/inline-reply-composer-shared.tsx+0−0
  • apps/web/{app/[username]/[repository] => components}/conversation/reply-content.tsx+2−2
  • apps/web/{app/[username]/[repository] => components}/conversation/timeline-primitives.tsx+1−1
  • apps/web/db/ci.ts+1100−0
  • apps/web/db/pull-request-diffs.ts+7−1
  • apps/web/db/schema.ts+610−0
  • apps/web/drizzle/0015_ci_workflow_runners.sql+284−0
  • apps/web/drizzle/meta/0015_snapshot.json+5077−0
  • apps/web/drizzle/meta/_journal.json+7−0
  • apps/web/lib/ci-object-storage.ts+53−0
  • apps/web/lib/ci-workflow-discovery.ts+149−0
  • apps/web/lib/local-repo-cache.ts+20−0
  • apps/web/lib/pr-diff-indexer.ts+26−18
  • apps/web/lib/pr-mergeability-indexer.ts+36−18
  • apps/web/lib/repo-indexer.ts+96−4
  • apps/web/next.config.mjs+7−0
  • apps/web/package.json+2−0
  • apps/web/public/stone-block.svg+1−0
  • deploy/.env.example+83−0
  • deploy/Caddyfile+47−0
  • deploy/Dockerfile+123−0
  • deploy/Dockerfile.dockerignore+42−0
  • deploy/README.md+267−0
  • deploy/docker-compose.app.yml+152−0
  • deploy/docker-compose.runner.yml+50−0
  • packages/ci-runner-executor/package.json+20−0
  • packages/ci-runner-executor/src/index.ts+338−0
  • packages/ci-runner-executor/tsconfig.json+10−0
  • packages/workflows/package.json+21−0
  • packages/workflows/src/index.test.ts+31−0
  • packages/workflows/src/index.ts+531−0
  • packages/workflows/tsconfig.json+10−0
  • pnpm-lock.yaml+132−11
  • turbo.json+1−0