Skip to content

Commit 09c73e2

Browse files
authored
ci: setup basic CI pipeline for docs (#24)
1 parent e6b6b54 commit 09c73e2

File tree

2 files changed

+90
-10
lines changed

2 files changed

+90
-10
lines changed

.github/workflows/ci.yml

Lines changed: 35 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,27 +11,31 @@ concurrency:
1111
permissions:
1212
id-token: write
1313
contents: read
14+
pull-requests: read
1415

1516
jobs:
16-
setup:
17+
detect-changes:
1718
runs-on:
1819
group: databricks-protected-runner-group
1920
labels: linux-ubuntu-latest
2021

21-
name: Setup
22+
name: Detect Changes
23+
outputs:
24+
docs: ${{ steps.filter.outputs.docs }}
25+
app-kit: ${{ steps.filter.outputs.app-kit }}
2226
steps:
2327
- uses: actions/checkout@v4
24-
- uses: pnpm/action-setup@v4
25-
- uses: actions/setup-node@v4
28+
- uses: dorny/paths-filter@v3
29+
id: filter
2630
with:
27-
node-version: 20
28-
cache: 'pnpm'
29-
- name: Install dependencies
30-
run: pnpm install --frozen-lockfile
31+
filters: |
32+
docs:
33+
- 'docs/**'
34+
app-kit:
35+
- '!docs/**'
3136
3237
lint_and_typecheck:
3338
name: Lint & Type Check
34-
needs: setup
3539
runs-on:
3640
group: databricks-protected-runner-group
3741
labels: linux-ubuntu-latest
@@ -56,7 +60,8 @@ jobs:
5660

5761
test:
5862
name: Unit Tests
59-
needs: setup
63+
needs: detect-changes
64+
if: needs.detect-changes.outputs.app-kit == 'true'
6065
runs-on:
6166
group: databricks-protected-runner-group
6267
labels: linux-ubuntu-latest
@@ -73,3 +78,23 @@ jobs:
7378
- name: Run Tests
7479
run: pnpm test
7580

81+
docs-build:
82+
name: Docs Build
83+
needs: detect-changes
84+
if: needs.detect-changes.outputs.docs == 'true'
85+
runs-on:
86+
group: databricks-protected-runner-group
87+
labels: linux-ubuntu-latest
88+
89+
steps:
90+
- uses: actions/checkout@v4
91+
- uses: pnpm/action-setup@v4
92+
- uses: actions/setup-node@v4
93+
with:
94+
node-version: 20
95+
cache: 'pnpm'
96+
- name: Install dependencies
97+
run: pnpm install --frozen-lockfile
98+
- name: Build Docs
99+
run: pnpm run docs:build
100+

.github/workflows/docs-deploy.yml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: Deploy Docs
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- 'docs/**'
9+
10+
permissions:
11+
contents: read
12+
pages: write
13+
id-token: write
14+
15+
concurrency:
16+
group: pages
17+
cancel-in-progress: false
18+
19+
jobs:
20+
build:
21+
runs-on:
22+
group: databricks-protected-runner-group
23+
labels: linux-ubuntu-latest
24+
25+
name: Build Docs
26+
steps:
27+
- uses: actions/checkout@v4
28+
- uses: pnpm/action-setup@v4
29+
- uses: actions/setup-node@v4
30+
with:
31+
node-version: 20
32+
cache: 'pnpm'
33+
- name: Install dependencies
34+
run: pnpm install --frozen-lockfile
35+
- name: Build Docs
36+
run: pnpm run docs:build
37+
- name: Upload artifact
38+
uses: actions/upload-pages-artifact@v3
39+
with:
40+
path: ./docs/build
41+
42+
deploy:
43+
runs-on:
44+
group: databricks-protected-runner-group
45+
labels: linux-ubuntu-latest
46+
47+
name: Deploy to GitHub Pages
48+
needs: build
49+
environment:
50+
name: github-pages
51+
url: ${{ steps.deployment.outputs.page_url }}
52+
steps:
53+
- name: Deploy to GitHub Pages
54+
id: deployment
55+
uses: actions/deploy-pages@v4

0 commit comments

Comments
 (0)