Skip to content

Commit 00a8c1d

Browse files
committed
ci: setup basic CI pipeline for docs
1 parent e6b6b54 commit 00a8c1d

File tree

2 files changed

+89
-10
lines changed

2 files changed

+89
-10
lines changed

.github/workflows/ci.yml

Lines changed: 34 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,25 +13,28 @@ permissions:
1313
contents: read
1414

1515
jobs:
16-
setup:
16+
detect-changes:
1717
runs-on:
1818
group: databricks-protected-runner-group
1919
labels: linux-ubuntu-latest
2020

21-
name: Setup
21+
name: Detect Changes
22+
outputs:
23+
docs: ${{ steps.filter.outputs.docs }}
24+
app-kit: ${{ steps.filter.outputs.app-kit }}
2225
steps:
2326
- uses: actions/checkout@v4
24-
- uses: pnpm/action-setup@v4
25-
- uses: actions/setup-node@v4
27+
- uses: dorny/paths-filter@v3
28+
id: filter
2629
with:
27-
node-version: 20
28-
cache: 'pnpm'
29-
- name: Install dependencies
30-
run: pnpm install --frozen-lockfile
30+
filters: |
31+
docs:
32+
- 'docs/**'
33+
app-kit:
34+
- '!docs/**'
3135
3236
lint_and_typecheck:
3337
name: Lint & Type Check
34-
needs: setup
3538
runs-on:
3639
group: databricks-protected-runner-group
3740
labels: linux-ubuntu-latest
@@ -56,7 +59,8 @@ jobs:
5659

5760
test:
5861
name: Unit Tests
59-
needs: setup
62+
needs: detect-changes
63+
if: needs.detect-changes.outputs.app-kit == 'true'
6064
runs-on:
6165
group: databricks-protected-runner-group
6266
labels: linux-ubuntu-latest
@@ -73,3 +77,23 @@ jobs:
7377
- name: Run Tests
7478
run: pnpm test
7579

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

.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)