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: ubuntu-latest
13
14 steps:
15 - name: Checkout repo
16 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
17 with:
18 clean: false
19
20 - name: Setup mdBook
21 uses: peaceiris/actions-mdbook@ee69d230fe19748b7abf22df32acaa93833fad08 # v2
22 with:
23 mdbook-version: "0.4.37"
24
25 - name: Set up default .cargo/config.toml
26 run: cp ./.cargo/collab-config.toml ./.cargo/config.toml
27
28 - name: Install system dependencies
29 run: |
30 sudo apt-get update
31 sudo apt-get install libxkbcommon-dev libxkbcommon-x11-dev
32
33 - name: Build book
34 run: |
35 set -euo pipefail
36 mkdir -p target/deploy
37 mdbook build ./docs --dest-dir=../target/deploy/docs/
38
39 - name: Deploy Docs
40 uses: cloudflare/wrangler-action@da0e0dfe58b7a431659754fdf3f186c529afbe65 # v3
41 with:
42 apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
43 accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
44 command: pages deploy target/deploy --project-name=docs
45
46 - name: Deploy Install
47 uses: cloudflare/wrangler-action@da0e0dfe58b7a431659754fdf3f186c529afbe65 # v3
48 with:
49 apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
50 accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
51 command: r2 object put -f script/install.sh zed-open-source-website-assets/install.sh
52
53 - name: Deploy Docs Workers
54 uses: cloudflare/wrangler-action@da0e0dfe58b7a431659754fdf3f186c529afbe65 # v3
55 with:
56 apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
57 accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
58 command: deploy .cloudflare/docs-proxy/src/worker.js
59
60 - name: Deploy Install Workers
61 uses: cloudflare/wrangler-action@da0e0dfe58b7a431659754fdf3f186c529afbe65 # v3
62 with:
63 apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
64 accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
65 command: deploy .cloudflare/docs-proxy/src/worker.js
66
67 - name: Preserve Wrangler logs
68 uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
69 if: always()
70 with:
71 name: wrangler_logs
72 path: /home/runner/.config/.wrangler/logs/