-
Notifications
You must be signed in to change notification settings - Fork 39
86 lines (74 loc) · 2.61 KB
/
build-deploy-doc.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
name: Build and Deploy documentation site
# This workflow is a customized workflow to deploy docs site to Cloudflare
# The reason we can no longer use Cloudflare's git integration to deploy docs
# site anymore is that Cloudflare's git integration would only check out
# documentation repo, whereas we need to check out both `endojs/endo` and
# `agoric/agoric-sdk` repo to build the docs site.
on:
# If it's a push to production branch, Cloudflare wrangler will deploy it as a
# production deployment
# The production branch for documentation project on Cloudflare is configured
# to be `main`
push:
branches:
- main
# If it's a push to a non-production branch, Cloudflare wrangler will deploy
# it as a preview deployment
pull_request:
branches:
- "*"
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Checkout Endo
uses: actions/checkout@v4
with:
repository: endojs/endo
path: endo
- name: Build Endo docs
run: |
cd endo
yarn install
yarn docs:markdown-for-agoric-documentation-repo
- name: Move Endo docs into main/reference
run: mv endo/api-docs main/reference/endo
- name: Checkout agoric-sdk
uses: actions/checkout@v4
with:
repository: agoric/agoric-sdk
path: agoric-sdk
- name: Build agoric-sdk docs
run: |
cd agoric-sdk
yarn install
yarn build
yarn docs:markdown-for-agoric-documentation-repo
- name: Move agoric-sdk docs into main/reference
run: mv agoric-sdk/api-docs main/reference/agoric-sdk
- name: Build Doc site
run: |
yarn install
yarn docs:build-cf
- name: Publish to Cloudflare Pages
id: publish-to-cloudflare-pages
uses: cloudflare/wrangler-action@v3
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
# Cloudflare account ID is safe to be public
# Ref: https://github.com/cloudflare/wrangler-legacy/issues/209#issuecomment-541654484
accountId: 0c4635effffcd7f36d1b9f0425a4367a
command: pages deploy --project-name=documentation dist/
- name: Comment with preview URL
if: github.event_name == 'pull_request'
uses: actions/github-script@v7
with:
script: |
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: 'Cloudflare Pages Preview URL: ${{ steps.publish-to-cloudflare-pages.outputs.deployment-url }}'
})