deployments

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Deployments

部署流程

This monorepo has three deployment paths:
  • telecine -- GCP Cloud Run services deployed via Pulumi; deploy is gated on CI (integration, playwright, typecheck) passing via a PR merged to
    main
  • elements -- npm packages published by pushing a git tag
  • skills -- public documentation published to the
    skills
    remote via
    scripts/push-skills
该单体仓库包含三种部署路径:
  • telecine -- 通过Pulumi部署至GCP Cloud Run的服务;部署需在PR合并至
    main
    分支前通过CI(集成测试、Playwright测试、类型检查)验证
  • elements -- 推送Git标签即可发布npm包
  • skills -- 通过
    scripts/push-skills
    脚本将公开文档发布至
    skills
    远程仓库

Scripts

脚本说明

telecine
and
elements
are sibling repos cloned alongside the monorepo under
~/Editframe/worktrees/<branch>/
. Push to them with standard
git push origin
from within the sibling repo directory. There are no subtree push scripts.
ScriptPurpose
scripts/push-skills
Generate + push skills to remote
scripts/wait-for-telecine-action
Poll telecine deploy CI (30s interval)
scripts/wait-for-elements-action
Poll elements release CI (30s interval)
scripts/wait-for-github-action <repo>
Generic CI poller for any repo
scripts/gh-logs <repo> [run-id]
Get failed job logs for a CI run
scripts/deploy-info telecine
Services, resources, routes, secrets
scripts/deploy-info elements
Packages, release pipeline
telecine
elements
是与单体仓库同级的独立仓库,克隆路径为
~/Editframe/worktrees/<branch>/
。在同级仓库目录下使用标准的
git push origin
命令推送代码,无需使用子树推送脚本。
脚本用途
scripts/push-skills
生成并推送skills至远程仓库
scripts/wait-for-telecine-action
轮询telecine部署CI状态(间隔30秒)
scripts/wait-for-elements-action
轮询elements发布CI状态(间隔30秒)
scripts/wait-for-github-action <repo>
适用于任意仓库的通用CI轮询工具
scripts/gh-logs <repo> [run-id]
获取CI运行失败的任务日志
scripts/deploy-info telecine
查看服务、资源、路由、密钥信息
scripts/deploy-info elements
查看包列表、发布流水线信息

Quick Reference

快速参考

ActionCommand
Deploy telecinePush branch → open PR → CI must pass → merge to main →
scripts/wait-for-telecine-action
Push telecine branch
git push origin <branch>
(from
worktrees/<branch>/telecine/
)
Deploy specific services manually
telecine/scripts/build-and-push web scheduler-go
Deploy all services manually
telecine/scripts/build-and-push-all
Run Pulumi directly
cd telecine/deploy && pulumi up
Prepare elements release
elements/scripts/prepare-release <version>
(from sibling elements repo)
Bump elements to beta
elements/scripts/prerelease
Publish elements manually
elements/scripts/publish
Publish skills docs
scripts/push-skills
Tag skills release
git push skills $(git rev-parse skills/main):refs/tags/v<version>
Check CI status
scripts/gh-logs editframe/telecine
Poll CI until done
scripts/wait-for-telecine-action
操作命令
部署telecine推送分支 → 发起PR → 等待CI通过 → 合并至main分支 → 执行
scripts/wait-for-telecine-action
推送telecine分支
worktrees/<branch>/telecine/
目录下执行
git push origin <branch>
手动部署指定服务执行
telecine/scripts/build-and-push web scheduler-go
手动部署所有服务执行
telecine/scripts/build-and-push-all
直接运行Pulumi进入
telecine/deploy
目录后执行
pulumi up
准备elements发布在同级elements仓库中执行
elements/scripts/prepare-release <version>
将elements版本升级为beta执行
elements/scripts/prerelease
手动发布elements执行
elements/scripts/publish
发布skills文档执行
scripts/push-skills
为skills打发布标签执行
git push skills $(git rev-parse skills/main):refs/tags/v<version>
检查CI状态执行
scripts/gh-logs editframe/telecine
轮询CI直至完成执行
scripts/wait-for-telecine-action

Telecine (GCP Cloud Run)

Telecine(GCP Cloud Run)

Telecine runs on GCP Cloud Run, managed by Pulumi (TypeScript) from
telecine/deploy/
. Docker images are tagged with the git SHA and pushed to GCP Artifact Registry. A push to
main
triggers parallel Docker builds for all services, followed by a Pulumi deployment.
Supporting infrastructure includes Cloud SQL Postgres, Valkey (Redis) on Compute Engine, GCS storage buckets, an HTTPS load balancer with URL-map routing, and Cloudflare DNS.
Skills source files are embedded in the telecine subtree at
telecine/skills/skills/
for the web Docker build (Tailwind class scanning + runtime docs serving).
Run
scripts/deploy-info telecine
for the current list of services, their resource allocations, load balancer routes, and secrets.
See references/telecine.md for deployment architecture and procedures.
Telecine运行在GCP Cloud Run上,由
telecine/deploy/
目录下的Pulumi(TypeScript)进行管理。Docker镜像使用Git SHA打标签并推送至GCP Artifact Registry。推送代码至
main
分支会触发所有服务的并行Docker构建,随后执行Pulumi部署。
配套基础设施包括Cloud SQL Postgres、部署在Compute Engine上的Valkey(Redis)、GCS存储桶、带URL映射路由的HTTPS负载均衡器以及Cloudflare DNS。
Skills源文件嵌入在telecine子目录
telecine/skills/skills/
中,用于Web Docker构建(Tailwind类扫描+运行时文档服务)。
执行
scripts/deploy-info telecine
可查看当前服务列表、资源分配、负载均衡器路由及密钥信息。
部署架构与流程详情请参考references/telecine.md

Elements (npm)

Elements(npm)

Elements publishes
@editframe
packages to npm via Trusted Publishing (OIDC). Pushing any git tag triggers the release workflow. Tags containing "beta" publish with the
beta
npm dist-tag; all others use
latest
.
Run
scripts/deploy-info elements
for the current package list and release pipeline steps.
See references/elements.md for the release workflow and versioning.
Elements通过可信发布(OIDC)将
@editframe
包发布至npm。推送任意Git标签都会触发发布工作流。标签包含"beta"的包会以
beta
npm dist-tag发布;其余标签则使用
latest
执行
scripts/deploy-info elements
可查看当前包列表及发布流水线步骤。
发布工作流与版本控制详情请参考references/elements.md

Skills (Public Docs)

Skills(公开文档)

Skills are public-facing documentation generated from source files in
skills/skills/
and published to the
editframe/skills
GitHub repo. The generation strips human-only metadata (nav, track, sections, api) and keeps only LLM-essential frontmatter.
bash
scripts/push-skills
Skills是基于
skills/skills/
目录下的源文件生成的公开文档,发布至
editframe/skills
GitHub仓库。生成过程会移除仅面向人类的元数据(导航、跟踪、章节、API),仅保留LLM所需的必要前置信息。
bash
scripts/push-skills

Tag with the same version as elements

使用与elements相同的版本打标签

git fetch skills main git push skills $(git rev-parse skills/main):refs/tags/v<version>

There is no CI -- the push is the deployment. Tag skills with the same version used for elements releases.

See [references/skills.md](references/skills.md) for the build process and source file conventions.
git fetch skills main git push skills $(git rev-parse skills/main):refs/tags/v<version>

该部署无CI环节,推送操作即为部署。Skills的标签版本需与elements发布版本保持一致。

构建流程与源文件规范详情请参考[references/skills.md](references/skills.md)。

Troubleshooting & Operations

故障排查与运维

When investigating production errors, start with the error triage workflow in references/troubleshooting.md: query Error Reporting API for grouped errors first, then drill into Cloud Run logs, then correlate with revisions to determine whether a deploy introduced the issue.
Rollback procedures, CI failure debugging, scaling resources, and secret management are also covered in references/troubleshooting.md.
排查生产环境错误时,请先遵循references/troubleshooting.md中的错误分流工作流:首先查询Error Reporting API获取分组错误信息,再深入查看Cloud Run日志,最后与版本记录关联以确定是否由部署引入问题。
回滚流程、CI失败调试、资源扩容及密钥管理等内容也可在references/troubleshooting.md中找到。

When to Use This Skill

适用场景

Use this skill when:
  • Investigating production errors or service health issues
  • Deploying services or packages
  • Investigating a failed deployment
  • Rolling back a bad release
  • Adjusting service resource limits (CPU, memory, instance counts)
  • Adding or rotating secrets
  • Understanding how services are routed (load balancer, DNS)
  • Preparing or publishing an elements release
在以下场景中使用本技能:
  • 排查生产环境错误或服务健康问题
  • 部署服务或包
  • 排查部署失败问题
  • 回滚有问题的版本
  • 调整服务资源限制(CPU、内存、实例数量)
  • 添加或轮换密钥
  • 了解服务路由方式(负载均衡器、DNS)
  • 准备或发布elements版本