Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
c4881e6
feat: scaffold the Astro + Starlight docs site
OmarAlJarrah Jul 16, 2026
7a0228c
feat: theme the docs site with kuri's brand colors and fonts
OmarAlJarrah Jul 16, 2026
170aff5
fix: remove literal dexpace-react reference from theme comment
OmarAlJarrah Jul 16, 2026
7573532
feat: add the docs site landing page
OmarAlJarrah Jul 16, 2026
f30c795
docs: add the Installation and Quick start guide pages
OmarAlJarrah Jul 16, 2026
f7519db
docs: add the Two models and Parsing and errors guide pages
OmarAlJarrah Jul 16, 2026
826fae4
docs: add the Building and resolving and Utilities guide pages
OmarAlJarrah Jul 16, 2026
d5da21f
docs: add the Recipes and Annotation binding guide pages
OmarAlJarrah Jul 16, 2026
ddd0019
docs: add the Standards and conformance and Platforms guide pages
OmarAlJarrah Jul 16, 2026
d2f338d
docs: add the Versioning and stability and Building from source guide…
OmarAlJarrah Jul 16, 2026
b84371f
docs: add the Contributing and Security guide pages
OmarAlJarrah Jul 16, 2026
1009a91
docs: render docs/SPEC.md as a site page
OmarAlJarrah Jul 16, 2026
ef6cfd7
feat: theme the Dokka API reference with kuri's brand colors
OmarAlJarrah Jul 16, 2026
ed84fde
feat: wire the Dokka API reference into the site's /api/ route
OmarAlJarrah Jul 16, 2026
122508d
fix: strip redundant /kuri prefix from the sidebar API reference link
OmarAlJarrah Jul 16, 2026
713b0dd
ci: add the docs site build and deploy workflow
OmarAlJarrah Jul 16, 2026
6e64e42
ci: add astro check and an internal link-checker gate to the docs deploy
OmarAlJarrah Jul 16, 2026
b9ac5e1
docs: trim the README to an overview and link to the full docs site
OmarAlJarrah Jul 16, 2026
f29dbc7
fix: exclude public/ from astro check to prevent a CI OOM on the copi…
OmarAlJarrah Jul 16, 2026
df11510
docs: correct the Kover coverage floor claim in the building-from-sou…
OmarAlJarrah Jul 18, 2026
511095d
docs: fix docs.yml concurrency comment to match cancel-in-progress: f…
OmarAlJarrah Jul 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
85 changes: 85 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
name: Deploy docs site

# Path-filtered so an internal-only Kotlin change doesn't retrigger a deploy, but a
# public-API change (which Dokka's output depends on) or any docs/site change does.
on:
push:
branches: [ main ]
paths:
- 'site/**'
- 'README.md'
- 'docs/**'
- 'kuri/src/commonMain/**'
- 'kuri/src/jvmMain/**'
- 'kuri/build.gradle.kts'
workflow_dispatch:

# cancel-in-progress: false queues a newer push behind an in-flight deploy rather than cancelling it,
# so a production deploy always runs to completion once started — the standard GitHub Pages template
# setting. The queued run still deploys once the current one finishes, so the latest content lands.
concurrency:
group: pages
cancel-in-progress: false

permissions:
contents: read
pages: write
id-token: write

defaults:
run:
shell: bash

jobs:
build:
name: Build (Dokka + Astro)
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v7
- uses: actions/setup-java@v5
with:
distribution: corretto
java-version: '21'
- uses: gradle/actions/setup-gradle@v6
- name: Generate the Dokka API reference
run: ./gradlew :kuri:dokkaGeneratePublicationHtml --stacktrace
- name: Copy the API reference into the site build
run: |
rm -rf site/public/api
mkdir -p site/public/api
cp -r kuri/build/dokka/html/. site/public/api/
- uses: oven-sh/setup-bun@v2
- name: Type-check content collections
working-directory: site
run: |
bun install --frozen-lockfile
bun run check
- name: Install, build, and upload the site
uses: withastro/action@v6
with:
path: site
package-manager: bun
- name: Check internal links
uses: lycheeverse/lychee-action@v2
with:
args: >-
--offline
--no-progress
--exclude-mail
--base site/dist
'site/dist/**/*.html'
fail: true

deploy:
name: Deploy to GitHub Pages
needs: build
runs-on: ubuntu-latest
timeout-minutes: 10
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v5
Loading