heysavvy/embeddables-actions/embeddables-deploy@v1 to deploy a configured hosting app from
GitHub Actions. This guide assumes the app’s build paths are already listed in
embeddables/config.yaml.
Add the deploy key
Create a deploy key from the Embeddables dashboard, thecreateHostingDeployKey Admin SDK method, or the
hosting_create_deploy_key MCP tool.
Save the returned edk_… secret in the GitHub repository as EMBEDDABLES_DEPLOY_KEY. The secret is
shown only once. Create a new key if it is lost; do not log it or commit it.
Configure the build output
Add the existing server and client build directories toembeddables/config.yaml.
Example:
server and client are relative to the repository root. slug must exactly match the app slug
registered in the Embeddables dashboard.
Add the workflow
Example:embeddables/config.yaml, packages one app’s existing build output, uploads it, and
exposes branch-url and commit-url outputs. When the config lists more than one hosting app, pass
its slug with app. Use config only when the config file is not at embeddables/config.yaml.
On a pull request, the action comments with the branch preview URL. A deploy from the registered
production branch also promotes the new commit to production.
Deploy endpoint
The action sends one gzipped tar archive to:
The archive contains Worker modules under
server/ and static files under client/.
server/wrangler.json can set the main module, compatibility date, compatibility flags, and string
variables. The main module defaults to index.js.
The compressed request is limited to 32 MB, the unpacked archive to 64 MB, and each static asset to
25 MB.
Returned URLs
A successful deploy returns:branchUrl: the moving URL for the git branch.commitUrl: the immutable URL for this commit.promotion: the production promotion result when the branch is the production branch, otherwisenull.
X-Git-Commit-Time is present.
