From 8c5c167872e7378e704eb283482a59c0b2a31ca2 Mon Sep 17 00:00:00 2001 From: Addison LeClair Date: Fri, 10 Jul 2026 03:44:27 -0700 Subject: [PATCH] ci: add automatic production deployments --- .github/workflows/deploy.yml | 31 +++++++++++++++++++++++++++++++ apps/cron/package.json | 6 +++--- apps/dashboard/package.json | 2 -- package.json | 4 ++-- 4 files changed, 36 insertions(+), 7 deletions(-) create mode 100644 .github/workflows/deploy.yml diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..55c7f1b --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,31 @@ +name: Deploy + +on: + push: + branches: [main] + workflow_dispatch: + +concurrency: + group: deploy-production + cancel-in-progress: false + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v4 + - uses: actions/setup-node@v4 + with: + node-version: 24 + cache: pnpm + - run: pnpm install --frozen-lockfile + - run: pnpm run check + - run: pnpm run lint + - run: pnpm -r build + - run: pnpm --filter stack-dashboard run cf:deploy + env: + CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} + - run: pnpm --filter stack-dashboard-cron run cf:deploy + env: + CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} diff --git a/apps/cron/package.json b/apps/cron/package.json index 46ecc18..eefb2a7 100644 --- a/apps/cron/package.json +++ b/apps/cron/package.json @@ -6,9 +6,9 @@ "scripts": { "dev": "wrangler dev", "check": "tsc --noEmit", - "deploy": "wrangler deploy --env=\"\"", - "deploy:preview": "wrangler deploy --env preview", - "cf-typegen": "wrangler types" + "cf:deploy": "wrangler deploy --env=\"\"", + "cf:deploy:preview": "wrangler deploy --env preview", + "cf:typegen": "wrangler types" }, "devDependencies": { "@cloudflare/workers-types": "^4.20260405.1", diff --git a/apps/dashboard/package.json b/apps/dashboard/package.json index 09ca21d..4458fd0 100644 --- a/apps/dashboard/package.json +++ b/apps/dashboard/package.json @@ -11,8 +11,6 @@ "cf:dev:remote": "pnpm run build && wrangler dev --remote", "cf:deploy": "wrangler deploy --env=\"\"", "cf:deploy:preview": "pnpm run build && wrangler deploy --env preview", - "deploy": "wrangler deploy --env=\"\"", - "deploy:preview": "wrangler deploy --env preview", "email:dev": "bse dev -c src/routes/layout.css", "prepare": "svelte-kit sync || echo ''", "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", diff --git a/package.json b/package.json index 971e2af..1eafa0d 100644 --- a/package.json +++ b/package.json @@ -10,8 +10,8 @@ "check": "pnpm -r check", "lint": "pnpm -r lint", "format": "pnpm -r format", - "deploy": "pnpm -r build && pnpm --filter stack-dashboard deploy && pnpm --filter stack-dashboard-cron deploy", - "deploy:preview": "pnpm -r build && pnpm --filter stack-dashboard deploy:preview && pnpm --filter stack-dashboard-cron deploy:preview", + "cf:deploy": "pnpm -r build && pnpm --filter stack-dashboard run cf:deploy && pnpm --filter stack-dashboard-cron run cf:deploy", + "cf:deploy:preview": "pnpm --filter stack-dashboard run cf:deploy:preview && pnpm --filter stack-dashboard-cron run cf:deploy:preview", "dashboard": "pnpm --filter stack-dashboard", "cron": "pnpm --filter stack-dashboard-cron" }