From d65787532245eee82436f8fef17b7f43fcfcb6cc Mon Sep 17 00:00:00 2001 From: Julien Herr Date: Fri, 22 May 2026 17:20:46 +0200 Subject: [PATCH] feat(ci): auto-deploy demo instance on main push --- .github/workflows/demo.yml | 48 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 .github/workflows/demo.yml diff --git a/.github/workflows/demo.yml b/.github/workflows/demo.yml new file mode 100644 index 0000000..02fa908 --- /dev/null +++ b/.github/workflows/demo.yml @@ -0,0 +1,48 @@ +name: Deploy Demo + +on: + workflow_run: + workflows: ["CI"] + types: [completed] + branches: [main] + +jobs: + deploy-demo: + runs-on: ubuntu-latest + if: ${{ github.event.workflow_run.conclusion == 'success' }} + + steps: + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + + - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 + with: + node-version: 22 + cache: npm + + - run: npm ci + + - name: Generate wrangler.toml + env: + DEMO_KV_NAMESPACE_ID: ${{ secrets.DEMO_KV_NAMESPACE_ID }} + run: | + COMPAT_DATE=$(date +%Y-%m-%d) + sed \ + -e "s/REPLACE_WITH_COMPATIBILITY_DATE/${COMPAT_DATE}/g" \ + -e "s/REPLACE_WITH_YOUR_KV_NAMESPACE_ID/${DEMO_KV_NAMESPACE_ID}/g" \ + -e "s/REPLACE_WITH_YOUR_PREVIEW_KV_NAMESPACE_ID/${DEMO_KV_NAMESPACE_ID}/g" \ + -e "s/REPLACE_WITH_DEMO_KV_NAMESPACE_ID/${DEMO_KV_NAMESPACE_ID}/g" \ + -e "s/REPLACE_WITH_YOUR_DOMAIN/kill-the.news/g" \ + wrangler-example.toml > wrangler.toml + + - name: Deploy to demo + run: npx wrangler deploy --env demo + env: + CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} + CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + + - name: Set demo admin password + run: echo "$DEMO_ADMIN_PASSWORD" | npx wrangler secret put ADMIN_PASSWORD --env demo + env: + CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} + CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + DEMO_ADMIN_PASSWORD: ${{ secrets.DEMO_ADMIN_PASSWORD }}