Skip to content

Commit d14ba5b

Browse files
committed
feat(ci): add docs deploy workflow
1 parent 3035936 commit d14ba5b

File tree

1 file changed

+73
-0
lines changed

1 file changed

+73
-0
lines changed

.github/workflows/publish-docs.yml

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# SPDX-FileCopyrightText: 2025 LiveKit, Inc.
2+
#
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
name: Publish Docs
6+
7+
on:
8+
workflow_dispatch:
9+
inputs:
10+
packages:
11+
description: "Packages to build and deploy docs for (space-separated, empty for all)"
12+
required: false
13+
default: "livekit-rtc livekit-server-sdk"
14+
type: string
15+
16+
concurrency: ${{ github.workflow }}-${{ github.ref }}
17+
18+
jobs:
19+
build:
20+
name: Build docs and publish to S3
21+
runs-on: ubuntu-latest
22+
steps:
23+
- uses: actions/checkout@v4
24+
with:
25+
lfs: true
26+
- uses: pnpm/action-setup@v4
27+
- name: Use Node.js 20
28+
uses: actions/setup-node@v4
29+
with:
30+
node-version: 20
31+
cache: pnpm
32+
- name: Install dependencies
33+
run: pnpm install --frozen-lockfile
34+
35+
- name: Parse packages input
36+
id: packages
37+
run: |
38+
if [ -z "${{ github.event.inputs.packages }}" ]; then
39+
echo "packages=livekit-rtc livekit-server-sdk" >> $GITHUB_OUTPUT
40+
else
41+
echo "packages=${{ github.event.inputs.packages }}" >> $GITHUB_OUTPUT
42+
fi
43+
echo "Parsed packages: ${{ steps.packages.outputs.packages }}"
44+
45+
- name: Build docs for livekit-rtc
46+
if: contains(steps.packages.outputs.packages, 'livekit-rtc')
47+
run: |
48+
cd packages/livekit-rtc
49+
pnpm build:docs
50+
51+
- name: Build docs for livekit-server-sdk
52+
if: contains(steps.packages.outputs.packages, 'livekit-server-sdk')
53+
run: |
54+
cd packages/livekit-server-sdk
55+
pnpm build:docs
56+
57+
- name: Upload livekit-rtc docs to S3
58+
if: contains(steps.packages.outputs.packages, 'livekit-rtc')
59+
run: |
60+
aws s3 cp packages/livekit-rtc/docs/ s3://livekit-docs/client-sdk-node --recursive
61+
env:
62+
AWS_ACCESS_KEY_ID: ${{ secrets.DOCS_DEPLOY_AWS_ACCESS_KEY }}
63+
AWS_SECRET_ACCESS_KEY: ${{ secrets.DOCS_DEPLOY_AWS_API_SECRET }}
64+
AWS_DEFAULT_REGION: "us-east-1"
65+
66+
- name: Upload livekit-server-sdk docs to S3
67+
if: contains(steps.packages.outputs.packages, 'livekit-server-sdk')
68+
run: |
69+
aws s3 cp packages/livekit-server-sdk/docs/ s3://livekit-docs/server-sdk-js --recursive
70+
env:
71+
AWS_ACCESS_KEY_ID: ${{ secrets.DOCS_DEPLOY_AWS_ACCESS_KEY }}
72+
AWS_SECRET_ACCESS_KEY: ${{ secrets.DOCS_DEPLOY_AWS_API_SECRET }}
73+
AWS_DEFAULT_REGION: "us-east-1"

0 commit comments

Comments
 (0)