PageSourceSearch

https://app.incredibuild.com/assets/index-CV5c09T2.js

js incredibuild.com collected 2026-09-24 17:44:42 UTC 7,970 bytes, 1 lines download raw bytes

1import{j as e,f as F,u as E,a as A}from"./@react-query-B7aWO4oz.js";import{N as de,u as ce}from"./@tanstack-router-C5q29I5r.js";import{F as c,V as me,cq as ue,D as pe,c8 as xe,cr as fe,a0 as W,cs as he,ct as ge,ap as Se,ak as be,bg as Ne,cu as je,cv as we,cw as Ce,cx as y,cy as R,cz as x,cA as D,al as O,cB as U,cC as k,cD as Ie,cE as _e,cF as L,cG as Ge,cH as Te,cI as ve}from"./main-D6lnA1fr.js";import{E as Be}from"./error-fallback-DfN8XgK7.js";import{C as q,a as V,b as X,c as w,f as Pe,g as He}from"./index-8ntJgCKG.js";import{B as Fe}from"./badge-51NKKn01.js";import{a as Ee,S as $}from"./index.esm-C8TmFFss.js";import{S as Ae}from"./stepper-D-IEM1yI.js";import{S as ye}from"./suspended-query-error-boundary-BRCj4Kgc.js";import{u as Re}from"./use-analytics-iGz9imuP.js";import{u as z}from"./use-hosted-platform-finished-BUmCyJ74.js";import{u as De}from"./use-tenant-integrations-Cwl8pgUd.js";import{u as Oe}from"./use-user-integrations-B13D9d4y.js";import"./@radix-ui-CWA3xdIh.js";import"./zod-FlNnpX36.js";import"./alert-B219MHOt.js";import"./scroll-area-BRinHNSQ.js";import"./spinner-B-Mm0pDE.js";function M(s,t){if(!s.started&&!t.started)return;const a=(!s.started||s.finished)&&(!t.started||t.finished),o=s.started&&(!t.started||s.step>=t.step)?s:t;return{step:o.step,platformLabel:a?void 0:o.label,isComplete:a,totalSteps:o.totalSteps}}const Ue={id:"self-hosted",title:"Build acceleration",description:"Distribute compilation and reuse cache across your own machines. Works with your existing CI.",icon:me,iconClassName:"text-foreground",bestFor:"Best for large C/C++, Unreal & embedded builds",ctaTime:"~7 min to setup",totalSteps:3},ke={id:"hosted",title:"Accelerate GitHub Actions",description:"Drop-in managed runner with zero-config caching. Change one line - nothing to operate.",icon:$,iconClassName:"text-foreground",bestFor:"Best for GitHub-native teams with zero infra",ctaTime:"~3 min to setup",badge:"Beta",totalSteps:3},Le={id:"hosted",title:"CI/CD acceleration",description:"Drop-in managed runners with zero-config caching. Change one line or add one tag, nothing to operate.",icon:$,iconClassName:"text-foreground",secondaryIcon:Ee,secondaryIconClassName:ue,bestFor:"Best for GitHub or GitLab teams that want zero infra",ctaTime:"~3 min to setup",badge:"Beta",totalSteps:3},ze=({onSelect:s,selfHostedProgress:t,hostedRunnersProgress:a,gitlabEnabled:o=!1})=>{const l=t!==void 0||a!==void 0,u=[Ue,o?Le:ke];return e.jsxs("div",{className:"mx-auto flex h-full w-full max-w-4xl flex-col items-center gap-8 overflow-auto px-4 pt-16 pb-10",children:[e.jsx("div",{className:"flex flex-col items-center gap-2 text-center",children:e.jsx("h1",{className:"text-3xl font-semibold tracking-tight text-foreground",children:"Make the most out of your build time"})}),e.jsx("div",{className:"grid w-full grid-cols-1 gap-8 md:grid-cols-2",children:u.map(i=>e.jsx(Me,{option:i,onSelect:()=>s(i.id),progress:i.id==="self-hosted"?t:a,anyStarted:l},i.id))})]})},Me=({option:s,onSelect:t,progress:a,anyStarted:o})=>{const l=s.icon,u=s.secondaryIcon,{step:i,platformLabel:m,isComplete:p=!1,totalSteps:f=s.totalSteps}=a??{},d=i!==void 0&&!p;return e.jsxs(q,{className:"gap-4 p-4",children:[e.jsxs(V,{className:"flex flex-row justify-between gap-3 px-0",children:[e.jsxs("div",{className:"flex flex-col gap-3",children:[u?e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"flex size-10 shrink-0 items-center justify-center rounded-md border",children:e.jsx(l,{className:w("size-6",s.iconClassName)})}),e.jsx("div",{className:"flex size-10 shrink-0 items-center justify-center rounded-md border",children:e.jsx(u,{className:w("size-6",s.secondaryIconClassName)})})]}):e.jsx("div",{className:"flex size-10 shrink-0 items-center justify-center rounded-md border",children:e.jsx(l,{className:w("size-6",s.iconClassName)})}),e.jsx(Pe,{className:"text-lg font-semibold leading-tight",children:s.title})]}),s.badge&&e.jsx(Fe,{variant:"custom",className:"shrink-0 bg-success/15 text-success-strong",children:s.badge})]}),e.jsxs(X,{className:"flex flex-1 flex-col gap-3 px-0",children:[e.jsx(He,{className:"text-sm leading-relaxed",children:s.description}),e.jsx("p",{className:"text-sm font-semibold text-foreground",children:s.bestFor}),e.jsxs("div",{className:"mt-auto flex items-center justify-between gap-3 border-t pt-4",children:[e.jsxs(pe,{onClick:t,variant:d||!o?"default":"secondary",children:[d?"Continue":"Get started",e.jsx(xe,{className:"size-4"})]}),p?e.jsxs("span",{className:"flex items-center gap-1 text-xs font-medium text-success-strong",children:[e.jsx(fe,{className:"size-3"}),m?`${m} finished`:"Finished"]}):d?e.jsxs("div",{className:"flex items-center gap-2",children:[m&&e.jsx("span",{className:"text-xs text-muted-foreground",children:m}),e.jsx(Ae,{totalSteps:f,currentStep:i})]}):e.jsx("span",{className:"text-xs text-muted-foreground",children:s.ctaTime})]})]})]})},Q=()=>e.jsxs("div",{className:"mx-auto flex min-h-full w-full max-w-4xl flex-col items-center gap-8 px-4 pt-16 pb-10",children:[e.jsx(c,{className:"h-9 w-96 max-w-full"}),e.jsx("div",{className:"grid w-full grid-cols-1 gap-8 md:grid-cols-2",children:[0,1].map(s=>e.jsxs(q,{className:"gap-4 p-4",children:[e.jsx(V,{className:"flex flex-row justify-between gap-3 px-0",children:e.jsxs("div",{className:"flex flex-col gap-3",children:[e.jsx(c,{className:"size-10 rounded-md"}),e.jsx(c,{className:"h-6 w-48"})]})}),e.jsxs(X,{className:"flex flex-1 flex-col gap-3 px-0",children:[e.jsx(c,{className:"h-4 w-full"}),e.jsx(c,{className:"h-4 w-3/4"}),e.jsx(c,{className:"h-4 w-1/2"}),e.jsxs("div",{className:"mt-auto flex items-center justify-between gap-3 border-t pt-4",children:[e.jsx(c,{className:"h-9 w-28"}),e.jsx(c,{className:"h-4 w-20"})]})]})]},s))})]});function Qe(){const s=ce(),t=Re(),a=W(ge),{isProductInstalled:o}=De(),{isProductInstalled:l}=Oe(),{data:u}=F(Se()),{data:i}=F(be()),{data:m}=E(ve()),p=Ne(u),f=p.map(r=>r.grid_id),d=p.find(r=>r.acceleration_type!=="linux"),h=p.find(r=>r.acceleration_type==="linux"),{data:C}=E({...je(Ce,we(f)),enabled:f.length>0}
1),I=y(C?.data?.filter(r=>r.grid_id===d?.grid_id)),_=y(C?.data?.filter(r=>r.grid_id===h?.grid_id)),J=d?.status==="connected",K=h?.status==="connected",g=(d?.trial_download_started??!1)||(m?.windows_download_started??!1),S=(h?.trial_download_started??!1)||(m?.linux_download_started??!1),Y=R(d,I),Z=R(h,_),G=L({stepFromSearch:0,isTrialGridConnected:J,hasCompletedStep2:I>=2}),T=L({stepFromSearch:0,isTrialGridConnected:K,hasCompletedStep2:_>=2}),ee=M({started:g,step:G,finished:Y,label:"Windows"},{started:S,step:T,finished:Z,label:"Linux"}),v=o(x.GITHUB_APP)||l(x.GITHUB),se=o(x.GITHUB_APP)&&l(x.GITHUB_APP)||l(x.GITHUB),B=A.useMemo(()=>D(i?.data,O.GITHUB),[i]),te=B.length>0,N=_e({stepFromSearch:0,isStep1Complete:se,isStep2Complete:te}),ae=z(B),j=!!a&&l(x.GITLAB),P=Ie(j),ie=A.useMemo(()=>a?D(i?.data,O.GITLAB):[],[i,a]),ne=z(ie),re=M({started:v,step:N,finished:ae,label:"GitHub",totalSteps:U.github},{started:j,step:P,finished:ne,label:"GitLab",totalSteps:U.gitlab}),oe=r=>{if(r==="self-hosted"){t?.capture("self_hosted_onboarding.path_selected");let n,b;if(!g&&!S){const H=Te();H!=="mac"&&(n=H)}else g&&!S?n="windows":S&&!g?n="linux":b=!0;const le=n?Ge(n==="windows"?G:T):1;s({to:"/getting-started/self-hosted",search:{step:le,...n!==void 0&&{platform:n},...b!==void 0&&{neutral:b}}})}else{const n=a&&j&&!v?"gitlab":"github";t?.capture("ci_runner_trial.path_selected",{ci_platform:n}),s(a?{to:"/getting-started/hosted-runners",search:{step:k(n,n==="gitlab"?P:N),platform:n}}:{to:"/getting-started/hosted-runners",search:{step:k("github",N)}})}};return e.jsx(ze,{onSelect:oe,selfHostedProgress:ee,hostedRunnersProgress:re,gitlabEnabled:!!a})}function ds(){const s=W(he);return s===void 0?e.jsx(Q,{}):s?e.jsx(ye,{errorFallbackComponent:Be,fallback:e.jsx(Q,{}),children:e.jsx(Qe,{})}):e.jsx(de,{to:"/getting-started/self-hosted",search:{step:1},replace:!0})}export{ds as component};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.