You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[release] Add prebuilt deploy mode for functions and sites
Opt-in mode that bypasses Appwrite's server-side build container entirely:
runs the build locally, ships node_modules / dist inside the tarball, and
tells Appwrite to skip its build step (empty commands sent to
createDeployment). Removes the need for a GitHub installation / token on
Appwrite when functions or sites pull private GitHub-hosted dependencies.
Default behavior is unchanged. Enable per-resource by setting
`prebuilt: true` in .fnconfig.yaml / config.yaml, or per single-function
CLI deploy with --prebuilt. The deploy-functions GitHub Action gains a
`prebuilt` input, and the MCP `deploy_functions` tool gains an optional
`prebuilt` flag that forces the whole batch.
When prebuilt:
- functions: `commands` runs locally in the deploy dir before tarring.
- sites: `installCommand` then `buildCommand` run locally.
- ignore list shrinks to .git/.vscode/.DS_Store so built artifacts ship
(user's explicit `ignore` still wins).
- createDeployment receives empty commands so Appwrite does nothing
server-side.
Schema fields added to AppwriteFunctionSchema and AppwriteSiteSchema; the
field is optional and undefined falls back to the existing
build-on-Appwrite path.
Copy file name to clipboardExpand all lines: actions/deploy-functions/action.yml
+5Lines changed: 5 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -84,6 +84,10 @@ inputs:
84
84
description: "Override whether function logging is enabled (true/false)."
85
85
required: false
86
86
default: ""
87
+
prebuilt:
88
+
description: "Single-function override: run the function's build commands LOCALLY before tarring, ship node_modules/dist inside the tarball, and tell Appwrite to skip its build step. Bypasses Appwrite's build container entirely so private GitHub deps don't need an installation/GitHub token on Appwrite. (true/false)"
description: "Comma-separated custom domains to attach as Appwrite Proxy Rules during --deployFunctions. For single-function deploys, overrides the config's domains[]. For multi-function deploys, each function's declared domains[] is reconciled.",
742
743
})
744
+
.option("prebuilt",{
745
+
alias: ["function-prebuilt","functionPrebuilt"],
746
+
type: "boolean",
747
+
description: "Single-function --deployFunctions override: run the function's `commands` (build step) LOCALLY before tarring, ship the resulting node_modules/dist inside the tarball, and tell Appwrite to skip its build step (empty commands sent to createDeployment). Bypasses Appwrite's build container entirely so private GitHub deps don't need an installation/GitHub token on Appwrite. For multi-function deploys, set `prebuilt: true` per-function in .fnconfig.yaml / config.yaml instead.",
0 commit comments