feat/tb-deploy
safe5d30429 · incrementalPR #261reviewed 2026-07-08 23:04 UTC0H · 0M · 1LThe branch
- Purpose
- Define and automate Batu's Tinybird deployment strategy: three long-lived workspaces (batu_dev / batu_stg / batu_prod) for hard isolation, ephemeral Forward branches per PR inside dev, and a per-environment token split replacing the single shared TINYBIRD_TOKEN.
- Goal
- Per-env Tinybird tokens + schema-CD: the SSM seed, Vercel env vars, and a new schema-CD lane (tb deploy) all become per-environment and gated on the appropriate secrets.
- Sub-goals
- SG-1: Strategy rule doc + README de-stale; scoped runtime-vs-deploy-token split
- SG-2: Per-env metrics-SSM seed (preview → DEV, staging → STG, prod → PROD)
- SG-3: Vercel per-env tokens (operator action + docs)
- SG-4: Ephemeral per-PR Tinybird branch provisioning + cleanup
- SG-5: Schema-CD jobs (tinybird-staging / tinybird-prod, CI-only WORKSPACE:DEPLOY token)
- SG-6: Fold per-env tokens + schema-CD into infrastructure.md / migration-pipeline.md
The changes (whole branch)
- What
- This incremental commit (fix/ci) pins the uv binary to v0.11.28 and sets enable-cache: false on the astral-sh/setup-uv action inside the tb-install composite action. The default enable-cache: auto was globbing the entire repo for Python dependency files, walking the huge node_modules tree and causing a ~20-minute install time. The fix reduces tb-install from 22 min to ~30 s with no change to the deploy contract.
- Why
- Performance regression fix for the tb-install composite action introduced earlier in this branch. The setup-uv action's cache behaviour was undocumented in its defaults and the monorepo's node_modules triggered pathological glob expansion.
- Areas
- .github/actions/tb-install+7−0
- Blast
- 1 file, +7/−0 in this commit. Full branch: 15 files, +899/−110 across .github/workflows (CI pipelines), .github/actions (composite action), infra/tinybird (workspace-as-code + tests), .claude/rules (strategy docs).
CI-only change no TypeScript diff no DB/CDK/API change
➖CI checks· statusCheckRollup not accessible via current token➖CodeRabbit· no .coderabbit.yaml
Findings · 1
improvement1
low
CRITICAL comment block is justified but can be trimmed by ~half
.github/actions/tb-install/action.yml:27
The 4-line block explains a genuine footgun (enable-cache: auto globs **/*requirements*.txt / **/pyproject.toml across the whole repo, which walks node_modules in this monorepo for ~20 min). The warning is warranted. Lines 3–4 restate what lines 1–2 already imply; could compress to two lines without losing any of the key facts (what the default does, why it's catastrophic here, why we don't need the cache).
History · 10 commits
- 5d30429safeincremental0H · 0M · 1L2026-07-08 23:04current
- 19bac85needs attentionincremental0H · 5M · 6L2026-07-08 22:46
- 92e890aneeds attentionincremental0H · 1M · 3L2026-07-08 21:46
- e81a781needs attentionincremental0H · 4M · 4L2026-07-08 21:31
- 2eca91cneeds attentionfull5H · 13M · 12L2026-07-08 19:18
- cf63bb1needs attentionincremental4H · 4M · 7L2026-07-07 19:47
- f43d034needs attentionincremental2H · 3M · 3L2026-07-07 18:35
- b7800c0needs attentionincremental1H · 2M · 7L2026-07-07 03:31
- 5aef105needs attentionfull6H · 9M · 2L2026-07-06 17:52
- 95b4484blockedfull3H · 8M · 4L2026-07-06 05:36