deploy_cloudflare.yml

 1name: Deploy Docs
 2
 3on:
 4  push:
 5    branches:
 6      - main
 7
 8jobs:
 9  deploy-docs:
10    name: Deploy Docs
11    runs-on: ubuntu-latest
12
13    steps:
14      - name: Checkout repo
15        uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
16        with:
17          clean: false
18
19      - name: Setup mdBook
20        uses: peaceiris/actions-mdbook@ee69d230fe19748b7abf22df32acaa93833fad08 # v2
21        with:
22          mdbook-version: "0.4.37"
23
24      - name: Set up default .cargo/config.toml
25        run: cp ./.cargo/collab-config.toml ./.cargo/config.toml
26
27      - name: Install system dependencies
28        run: |
29          sudo apt-get update
30          sudo apt-get install libxkbcommon-dev libxkbcommon-x11-dev
31
32      - name: Build book
33        run: |
34          set -euo pipefail
35          mkdir -p target/deploy
36          mdbook build ./docs --dest-dir=../target/deploy/docs/
37
38      - name: Deploy Docs
39        uses: cloudflare/wrangler-action@f84a562284fc78278ff9052435d9526f9c718361 # v3
40        with:
41          apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
42          accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
43          command: pages deploy target/deploy --project-name=docs
44
45      - name: Deploy Install
46        uses: cloudflare/wrangler-action@f84a562284fc78278ff9052435d9526f9c718361 # v3
47        with:
48          apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
49          accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
50          command: r2 object put -f script/install.sh zed-open-source-website-assets/install.sh
51
52      - name: Deploy Docs Workers
53        uses: cloudflare/wrangler-action@f84a562284fc78278ff9052435d9526f9c718361 # v3
54        with:
55          apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
56          accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
57          command: deploy .cloudflare/docs-proxy/src/worker.js
58
59      - name: Deploy Install Workers
60        uses: cloudflare/wrangler-action@f84a562284fc78278ff9052435d9526f9c718361 # v3
61        with:
62          apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
63          accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
64          command: deploy .cloudflare/docs-proxy/src/worker.js