1+ name : Deploy Docs on new release
2+
3+ on :
4+ release :
5+ types :
6+ - published
7+ - edited
8+ - released
9+
10+ jobs :
11+ deploy :
12+ name : Deploy to CloudFlare Pages
13+ env :
14+ CLOUDFLARE_PROJECT_NAME : cortex-docs
15+ runs-on : ubuntu-latest
16+ permissions :
17+ contents : write
18+ deployments : write
19+ pull-requests : write
20+ steps :
21+ - uses : actions/checkout@v4
22+ with :
23+ ref : dev
24+ - uses : actions/setup-node@v3
25+ with :
26+ node-version : 18
27+
28+ - name : Install jq
29+ uses : dcarbone/install-jq-action@v2.0.1
30+
31+ - name : Fill env vars
32+ working-directory : docs
33+ continue-on-error : true
34+ run : |
35+ env_example_file=".env.example"
36+ touch .env
37+ while IFS= read -r line || [[ -n "$line" ]]; do
38+ if [[ "$line" == *"="* ]]; then
39+ var_name=$(echo $line | cut -d '=' -f 1)
40+ echo $var_name
41+ var_value="$(jq -r --arg key "$var_name" '.[$key]' <<< "$SECRETS")"
42+ echo "$var_name=$var_value" >> .env
43+ fi
44+ done < "$env_example_file"
45+ env :
46+ SECRETS : ' ${{ toJson(secrets) }}'
47+
48+ - name : Install dependencies
49+ working-directory : docs
50+ run : yarn install
51+ - name : Build website
52+ working-directory : docs
53+ run : export NODE_ENV=production && yarn build
54+
55+ - name : Copy redirect file
56+ working-directory : docs
57+ continue-on-error : true
58+ run : cp _redirects build/_redirects
59+
60+ - name : Publish to Cloudflare Pages Production
61+ uses : cloudflare/pages-action@v1
62+ with :
63+ apiToken : ${{ secrets.CLOUDFLARE_API_TOKEN }}
64+ accountId : ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
65+ projectName : ${{ env.CLOUDFLARE_PROJECT_NAME }}
66+ directory : ./docs/build
67+ branch : main
68+ # Optional: Enable this if you want to have GitHub Deployments triggered
69+ gitHubToken : ${{ secrets.GITHUB_TOKEN }}
0 commit comments