deploy_cloudflare.yml

 1name: Deploy Docs
 2
 3on:
 4  push:
 5    branches:
 6      - main
 7
 8jobs:
 9  deploy-docs:
10    name: Deploy Docs
11    if: github.repository_owner == 'zed-industries'
12    runs-on: namespace-profile-16x32-ubuntu-2204
13
14    steps:
15      - name: Checkout repo
16        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
17        with:
18          clean: false
19
20      - name: Set up default .cargo/config.toml
21        run: cp ./.cargo/collab-config.toml ./.cargo/config.toml
22
23      - name: Build docs
24        uses: ./.github/actions/build_docs
25        env:
26          DOCS_AMPLITUDE_API_KEY: ${{ secrets.DOCS_AMPLITUDE_API_KEY }}
27
28      # Temporarily disabled due to a Cloudflare Pages incident.
29      # - name: Deploy Docs
30      #   uses: cloudflare/wrangler-action@da0e0dfe58b7a431659754fdf3f186c529afbe65 # v3
31      #   with:
32      #     apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
33      #     accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
34      #     command: pages deploy target/deploy --project-name=docs
35
36      - name: Deploy Install
37        uses: cloudflare/wrangler-action@da0e0dfe58b7a431659754fdf3f186c529afbe65 # v3
38        with:
39          apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
40          accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
41          command: r2 object put -f script/install.sh zed-open-source-website-assets/install.sh
42
43      - name: Deploy Docs Workers
44        uses: cloudflare/wrangler-action@da0e0dfe58b7a431659754fdf3f186c529afbe65 # v3
45        with:
46          apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
47          accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
48          command: deploy .cloudflare/docs-proxy/src/worker.js
49
50      - name: Deploy Install Workers
51        uses: cloudflare/wrangler-action@da0e0dfe58b7a431659754fdf3f186c529afbe65 # v3
52        with:
53          apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
54          accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
55          command: deploy .cloudflare/docs-proxy/src/worker.js
56
57      - name: Preserve Wrangler logs
58        uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
59        if: always()
60        with:
61          name: wrangler_logs
62          path: /home/runner/.config/.wrangler/logs/