From 5f779c2af7f795128dd4d819f61f1d194953908f Mon Sep 17 00:00:00 2001 From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com> Date: Thu, 6 Nov 2025 16:08:46 +0000 Subject: [PATCH 1/5] Update docs/template/build.mdx --- docs/template/build.mdx | 117 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 114 insertions(+), 3 deletions(-) diff --git a/docs/template/build.mdx b/docs/template/build.mdx index 8119f0b..805bbd4 100644 --- a/docs/template/build.mdx +++ b/docs/template/build.mdx @@ -3,12 +3,14 @@ title: "Build" description: "How to build the template" --- -Configure the build process: +## Build and wait for completion + +The `build` method builds the template and waits for the build to complete. It returns build information including the template ID and build ID. ```typescript JavaScript & TypeScript wrap -Template.build(template, { +const buildInfo = await Template.build(template, { alias: 'my-template', // Template alias (required) cpuCount: 2, // CPU cores memoryMB: 2048, // Memory in MB @@ -17,10 +19,12 @@ Template.build(template, { apiKey: 'your-api-key', // Override API key domain: 'your-domain', // Override domain }) + +// buildInfo contains: { alias, templateId, buildId } ``` ```python Python wrap -Template.build( +build_info = Template.build( template, alias="my-template", # Template alias (required) cpu_count=2, # CPU cores @@ -30,6 +34,113 @@ Template.build( api_key="your-api-key", # Override API key domain="your-domain", # Override domain ) + +# build_info contains: BuildInfo(alias, template_id, build_id) +``` + + + +## Build in background + +The `buildInBackground` method starts the build process and returns immediately without waiting for completion. This is useful when you want to trigger a build and check its status later. + + + +```typescript JavaScript & TypeScript wrap +const buildInfo = await Template.buildInBackground(template, { + alias: 'my-template', + cpuCount: 2, + memoryMB: 2048, +}) + +// Returns immediately with: { alias, templateId, buildId } +``` + +```python Python wrap +build_info = Template.build_in_background( + template, + alias="my-template", + cpu_count=2, + memory_mb=2048, +) + +# Returns immediately with: BuildInfo(alias, template_id, build_id) +``` + + + +## Check build status + +Use `getBuildStatus` to check the status of a build started with `buildInBackground`. + + + +```typescript JavaScript & TypeScript wrap +const status = await Template.getBuildStatus(buildInfo, { + logsOffset: 0, // Optional: offset for fetching logs +}) + +// status contains: { status: 'building' | 'ready' | 'error', logs: [...] } +``` + +```python Python wrap +status = Template.get_build_status( + build_info, + logs_offset=0, # Optional: offset for fetching logs +) + +# status contains build status and logs +``` + + + +## Example: Background build with status polling + + + +```typescript JavaScript & TypeScript wrap +// Start build in background +const buildInfo = await Template.buildInBackground(template, { + alias: 'my-template', + cpuCount: 2, + memoryMB: 2048, +}) + +// Poll for build status +let status = await Template.getBuildStatus(buildInfo) +while (status.status === 'building') { + await new Promise(resolve => setTimeout(resolve, 2000)) + status = await Template.getBuildStatus(buildInfo) +} + +if (status.status === 'ready') { + console.log('Build completed successfully') +} else { + console.error('Build failed') +} +``` + +```python Python wrap +# Start build in background +build_info = Template.build_in_background( + template, + alias="my-template", + cpu_count=2, + memory_mb=2048, +) + +# Poll for build status +import time + +status = Template.get_build_status(build_info) +while status.status.value == "building": + time.sleep(2) + status = Template.get_build_status(build_info) + +if status.status.value == "ready": + print("Build completed successfully") +else: + print("Build failed") ``` From 3383e1b76635181c77711a5cfbc653ed955041b8 Mon Sep 17 00:00:00 2001 From: Jakub Dobry Date: Fri, 7 Nov 2025 10:00:50 +0100 Subject: [PATCH 2/5] add logs handling to the example --- docs/template/build.mdx | 38 +++++++++++++++++++++++++++++++------- 1 file changed, 31 insertions(+), 7 deletions(-) diff --git a/docs/template/build.mdx b/docs/template/build.mdx index 805bbd4..5787916 100644 --- a/docs/template/build.mdx +++ b/docs/template/build.mdx @@ -80,7 +80,7 @@ const status = await Template.getBuildStatus(buildInfo, { logsOffset: 0, // Optional: offset for fetching logs }) -// status contains: { status: 'building' | 'ready' | 'error', logs: [...] } +// status contains: { status: 'building' | 'ready' | 'error', logEntries: [...] } ``` ```python Python wrap @@ -107,10 +107,22 @@ const buildInfo = await Template.buildInBackground(template, { }) // Poll for build status -let status = await Template.getBuildStatus(buildInfo) -while (status.status === 'building') { +let logsOffset = 0 +let status = 'building' + +while (status === 'building') { + const buildStatus = await getBuildStatus(buildInfo, { + logsOffset, + }) + + logsOffset += buildStatus.logEntries.length + + buildStatus.logEntries.forEach( + (logEntry) => console.log(logEntry.toString()) + ) + + // Wait for a short period before checking the status again await new Promise(resolve => setTimeout(resolve, 2000)) - status = await Template.getBuildStatus(buildInfo) } if (status.status === 'ready') { @@ -132,10 +144,22 @@ build_info = Template.build_in_background( # Poll for build status import time -status = Template.get_build_status(build_info) -while status.status.value == "building": +logs_offset = 0 +status = "building" + +while status == "building": + build_status = Template.get_build_status( + build_info, + logs_offset=logs_offset, + ) + + logs_offset += len(build_status.log_entries) + + for log_entry in build_status.log_entries: + print(log_entry) + + # Wait for a short period before checking the status again time.sleep(2) - status = Template.get_build_status(build_info) if status.status.value == "ready": print("Build completed successfully") From e57d791c91a8e83fad95293eb5253ffcf6271276 Mon Sep 17 00:00:00 2001 From: Jakub Dobry Date: Fri, 7 Nov 2025 10:33:46 +0100 Subject: [PATCH 3/5] fix infinite loop --- docs/template/build.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/template/build.mdx b/docs/template/build.mdx index 5787916..f0b48d1 100644 --- a/docs/template/build.mdx +++ b/docs/template/build.mdx @@ -116,6 +116,7 @@ while (status === 'building') { }) logsOffset += buildStatus.logEntries.length + status = buildStatus.status buildStatus.logEntries.forEach( (logEntry) => console.log(logEntry.toString()) @@ -154,6 +155,7 @@ while status == "building": ) logs_offset += len(build_status.log_entries) + status = build_status.status for log_entry in build_status.log_entries: print(log_entry) From dbdf929664af83290bc0c3b154417a000f327f13 Mon Sep 17 00:00:00 2001 From: Jakub Dobry Date: Fri, 7 Nov 2025 10:38:26 +0100 Subject: [PATCH 4/5] fix comments --- docs/template/build.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/template/build.mdx b/docs/template/build.mdx index f0b48d1..0d7cfae 100644 --- a/docs/template/build.mdx +++ b/docs/template/build.mdx @@ -126,7 +126,7 @@ while (status === 'building') { await new Promise(resolve => setTimeout(resolve, 2000)) } -if (status.status === 'ready') { +if (status === 'ready') { console.log('Build completed successfully') } else { console.error('Build failed') @@ -155,7 +155,7 @@ while status == "building": ) logs_offset += len(build_status.log_entries) - status = build_status.status + status = build_status.status.value for log_entry in build_status.log_entries: print(log_entry) @@ -163,7 +163,7 @@ while status == "building": # Wait for a short period before checking the status again time.sleep(2) -if status.status.value == "ready": +if status == "ready": print("Build completed successfully") else: print("Build failed") From 7908d51113134a476a31817c42cde17256108b6b Mon Sep 17 00:00:00 2001 From: Jakub Dobry Date: Fri, 7 Nov 2025 10:39:39 +0100 Subject: [PATCH 5/5] fix function call --- docs/template/build.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/template/build.mdx b/docs/template/build.mdx index 0d7cfae..588f95a 100644 --- a/docs/template/build.mdx +++ b/docs/template/build.mdx @@ -111,7 +111,7 @@ let logsOffset = 0 let status = 'building' while (status === 'building') { - const buildStatus = await getBuildStatus(buildInfo, { + const buildStatus = await Template.getBuildStatus(buildInfo, { logsOffset, })