Skip to content

Commit a038f63

Browse files
authored
chore(release): add manual Cloudflare deployment (#68)
## Summary - add a manual-only production workflow for affected Cloudflare Workers - pin Wrangler 4.114.0 and allow bounded deploys up to 15 minutes - remove obsolete Knip suppressions while keeping runtime entry discovery explicit ## Validation - `pnpm lint` - `pnpm typecheck` - `pnpm architecture:check` - `pnpm deadcode` - `pnpm build` - `actionlint .github/workflows/*.yml` - `git diff --check`
1 parent 1859b26 commit a038f63

5 files changed

Lines changed: 388 additions & 51 deletions

File tree

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Deploy Cloudflare
2+
3+
on:
4+
workflow_dispatch:
5+
6+
concurrency:
7+
group: deploy-cloudflare-production
8+
cancel-in-progress: false
9+
10+
permissions:
11+
contents: read
12+
13+
jobs:
14+
deploy:
15+
name: Deploy affected Workers
16+
runs-on: ubuntu-latest
17+
timeout-minutes: 45
18+
steps:
19+
- name: Checkout reviewed release
20+
uses: actions/checkout@v4
21+
22+
- name: Set up pnpm
23+
uses: pnpm/action-setup@v4
24+
with:
25+
version: 11.15.0
26+
27+
- name: Set up Node.js
28+
uses: actions/setup-node@v4
29+
with:
30+
node-version-file: .nvmrc
31+
cache: pnpm
32+
33+
- name: Install dependencies
34+
run: pnpm install --frozen-lockfile
35+
36+
- name: Deploy affected Workers
37+
run: pnpm cloudflare:deploy
38+
env:
39+
CLOUDFLARE_ACCOUNT_ID: ${{ vars.CLOUDFLARE_ACCOUNT_ID }}
40+
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}

knip.jsonc

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,14 @@
1717
"entry": ["drizzle.config.ts", "src/schema/drizzle.ts"]
1818
},
1919
"infra/containers/sandbox/browser-driver": {
20-
// The snapshot launches this service from the immutable browser-driver
21-
// launcher. Playwright and Zod are Stagehand peers, and the Docker build
22-
// invokes Playwright's CLI to install the matching Chromium artifact.
23-
"entry": ["server.js"],
20+
// The snapshot installs these as Stagehand runtime peers. Knip cannot see
21+
// that dependency edge because it is resolved inside the Docker image.
2422
"ignoreDependencies": ["playwright-core", "zod"]
2523
},
2624
"infra/containers/sandbox/skill-runtime": {
2725
"entry": ["bin/*.mjs"],
2826
// Snapshot launchers resolve these executables by installed binary name;
29-
// neither child-process execution nor Docker symlinks are visible to Knip.
27+
// Knip cannot infer that Docker runtime edge.
3028
"ignoreDependencies": ["agent-browser", "tsx"],
3129
"ignoreBinaries": ["agent-browser"]
3230
}

0 commit comments

Comments
 (0)