This is an automated email from the ASF dual-hosted git repository.

yuxia pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/fluss-rust.git


The following commit(s) were added to refs/heads/main by this push:
     new 2e0ab9b  chore: add CI for documentation. Minor improvement and 
organisation of website (#350)
2e0ab9b is described below

commit 2e0ab9b991f77c104ea28abe65feac288867396b
Author: Keith Lee <[email protected]>
AuthorDate: Wed Feb 18 02:10:29 2026 +0000

    chore: add CI for documentation. Minor improvement and organisation of 
website (#350)
---
 .github/workflows/ci.yml                           |  6 +++
 .github/workflows/docs-check.yml                   | 49 ++++++++++++++++++++++
 website/docs/developer-guide/_category_.json       |  4 --
 website/docs/index.md                              |  6 +--
 website/docs/release/generate-release-note.md      |  8 ++--
 .../docs/release/verifying-a-release-candidate.md  |  8 ++--
 .../docs/user-guide/cpp/example/_category_.json    |  2 +-
 .../docs/user-guide/python/example/_category_.json |  2 +-
 .../docs/user-guide/rust/example/_category_.json   |  2 +-
 website/sidebars.ts                                | 11 ++---
 10 files changed, 72 insertions(+), 26 deletions(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 20bee87..d51e3c0 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -21,9 +21,15 @@ on:
   push:
     branches:
       - main
+    paths-ignore:
+      - 'website/**'
+      - '**/*.md'
   pull_request:
     branches:
       - main
+    paths-ignore:
+      - 'website/**'
+      - '**/*.md'
 
 concurrency:
   group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }}
diff --git a/.github/workflows/docs-check.yml b/.github/workflows/docs-check.yml
new file mode 100644
index 0000000..6408c54
--- /dev/null
+++ b/.github/workflows/docs-check.yml
@@ -0,0 +1,49 @@
+################################################################################
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+################################################################################
+
+# This workflow is meant for checking broken links in the documentation.
+name: Check Documentation
+permissions:
+  contents: read
+on:
+  pull_request:
+    branches: [main]
+    paths:
+      - 'website/**'
+  push:
+    branches: [main]
+    paths:
+      - 'website/**'
+
+jobs:
+  test-deploy:
+    runs-on: ubuntu-latest
+    defaults:
+      run:
+        working-directory: ./website
+    steps:
+      - uses: actions/checkout@v6
+        with:
+          fetch-depth: 0
+      - uses: actions/setup-node@v6
+        with:
+          node-version: 24
+      - name: Install dependencies
+        run: npm install
+      - name: Test build website
+        run: npm run build -- --no-minify
diff --git a/website/docs/developer-guide/_category_.json 
b/website/docs/developer-guide/_category_.json
deleted file mode 100644
index cc7b01a..0000000
--- a/website/docs/developer-guide/_category_.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-  "label": "Developer Guide",
-  "position": 3
-}
diff --git a/website/docs/index.md b/website/docs/index.md
index 4153813..e7d5e08 100644
--- a/website/docs/index.md
+++ b/website/docs/index.md
@@ -8,7 +8,7 @@ title: Introduction
 
 [Apache Fluss](https://fluss.apache.org/) (incubating) is a streaming storage 
system built for real-time analytics, serving as the real-time data layer for 
Lakehouse architectures.
 
-This documentation covers the **Fluss client libraries** for Rust, Python, and 
C++, which are developed in the 
[fluss-rust](https://github.com/apache/fluss-rust) repository. These clients 
allow you to:
+This documentation covers the **Fluss client libraries** for Rust, Python, 
C++, and [Java](https://fluss.apache.org/docs/0.9/apis/java-client/), which are 
developed in the [fluss-rust](https://github.com/apache/fluss-rust) repository 
(Java client is part of the [main Fluss 
project](https://github.com/apache/fluss)). These clients allow you to:
 
 - **Create and manage** databases, tables, and partitions
 - **Write** data to log tables (append-only) and primary key tables 
(upsert/delete)
@@ -40,6 +40,6 @@ You need a running Fluss cluster to use any of the client 
libraries. See the [De
 
 ## How This Guide Is Organised
 
-The **User Guide** walks through installation, configuration, and working with 
each table type across all three languages. Code examples are shown side by 
side under **Rust**, **Python**, and **C++** headings.
+The **Clients** section walks through installation, configuration, and working 
with each table type across all three languages. Code examples are shown side 
by side under **Rust**, **Python**, and **C++** headings.
 
-The **Developer Guide** covers building from source, running tests, and the 
release process for contributors.
+The **Contributing** guide covers building from source, running tests, and the 
release process for contributors.
diff --git a/website/docs/release/generate-release-note.md 
b/website/docs/release/generate-release-note.md
index edbc43b..9db04a5 100644
--- a/website/docs/release/generate-release-note.md
+++ b/website/docs/release/generate-release-note.md
@@ -1,10 +1,10 @@
 # Generate Release Note
 
-Use GitHub's **Generate release notes** to produce a draft from merged PRs 
between tags. Categories (Added, Fixed, Docs, etc.) are configured in 
[.github/release.yml](../.github/release.yml).
+Use GitHub's **Generate release notes** to produce a draft from merged PRs 
between tags. Categories (Added, Fixed, Docs, etc.) are configured in 
[.github/release.yml](https://github.com/apache/fluss-rust/blob/main/.github/release.yml).
 
-1. Go to [Create a new 
release](https://github.com/apache/fluss-rust/releases/new).
+1. Go to [Creating a Fluss Client Release](create-release.md).
 2. In **Choose a tag**, pick the release tag (e.g. `v0.1.0`).
 3. Click **Generate release notes**.
-4. Copy the generated content for **CHANGELOG.md** or the GitHub Release 
description. When publishing the release, add the official download link, 
checksums/verification, and install instructions (see 
[creating-a-release.md](creating-a-release.md)).
+4. Copy the generated content for **CHANGELOG.md** or the GitHub Release 
description. When publishing the release, add the official download link, 
checksums/verification, and install instructions (see [Creating a Fluss Rust 
Client Release](create-release.md)).
 
-See [creating-a-fluss-rust-release.md](creating-a-fluss-rust-release.md) and 
[GitHub: Automatically generated release 
notes](https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes).
+See [Creating a Fluss Rust Client Release](create-release.md) and [GitHub: 
Automatically generated release 
notes](https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes).
diff --git a/website/docs/release/verifying-a-release-candidate.md 
b/website/docs/release/verifying-a-release-candidate.md
index dc70f72..ebb4d97 100644
--- a/website/docs/release/verifying-a-release-candidate.md
+++ b/website/docs/release/verifying-a-release-candidate.md
@@ -86,7 +86,7 @@ Unzip the source release archive and verify that:
 3. All dependencies have been checked for their license and the license is ASL 
2.0 compatible ([ASF third-party license 
policy](http://www.apache.org/legal/resolved.html#category-x)).
 4. Compatible non-ASL 2.0 licenses are documented (e.g. in NOTICE or in 
dependency audit files such as `DEPENDENCIES*.tsv`).
 
-The project uses [cargo-deny](https://embarkstudios.github.io/cargo-deny/) for 
license checks; see [Creating a Fluss Rust Client 
Release](creating-a-release.md) for how the dependency list is generated before 
a release.
+The project uses [cargo-deny](https://embarkstudios.github.io/cargo-deny/) for 
license checks; see [Creating a Fluss Rust Client Release](create-release.md) 
for how the dependency list is generated before a release.
 
 ## Testing features
 
@@ -94,9 +94,9 @@ For any user-facing feature included in a release, we aim to 
ensure it is functi
 
 **Per-language verification:** For **Rust** and **C++**, build from the source 
release and write your own test cases to verify. For **Python**, the RC is 
published to **TestPyPI**; install the client from TestPyPI and write your own 
test cases (e.g. connect, create table, read/write) to verify. Use the README 
in each component as the entry point:
 
-- **Rust client:** You can depend on the RC via its git tag (e.g. in your 
`Cargo.toml`: `fluss-rs = { git = "https://github.com/apache/fluss-rust";, tag = 
"v${RELEASE_VERSION}-rc${RC_NUM}" }`) and build your own test project to 
verify. Alternatively, build from the source release; see 
[crates/fluss/README.md](../crates/fluss/README.md).
-- **Python bindings:** See 
[bindings/python/README.md](../bindings/python/README.md) for how to add the 
Python client (for an RC, install from **TestPyPI**: `pip install -i 
https://test.pypi.org/simple/ pyfluss==${RELEASE_VERSION}`); then write test 
cases to verify.
-- **C++ bindings:** See [bindings/cpp/README.md](../bindings/cpp/README.md) 
for how to build and link the C++ client; then write test cases to verify.
+- **Rust client:** You can depend on the RC via its git tag (e.g. in your 
`Cargo.toml`: `fluss-rs = { git = "https://github.com/apache/fluss-rust";, tag = 
"v${RELEASE_VERSION}-rc${RC_NUM}" }`) and build your own test project to 
verify. Alternatively, build from the source release; see [Rust Installation 
Guide](../user-guide/rust/installation.md).
+- **Python bindings:** See [Python Installation 
Guide](../user-guide/python/installation.md) for how to add the Python client 
(for an RC, install from **TestPyPI**: `pip install -i 
https://test.pypi.org/simple/ pyfluss==${RELEASE_VERSION}`); then write test 
cases to verify.
+- **C++ bindings:** See [C++ Installation 
Guide](../user-guide/cpp/installation.md) for how to build and link the C++ 
client; then write test cases to verify.
 
 ## Incubator release checklist
 
diff --git a/website/docs/user-guide/cpp/example/_category_.json 
b/website/docs/user-guide/cpp/example/_category_.json
index dd22294..4d81ec1 100644
--- a/website/docs/user-guide/cpp/example/_category_.json
+++ b/website/docs/user-guide/cpp/example/_category_.json
@@ -1,4 +1,4 @@
 {
-  "label": "Example",
+  "label": "Examples",
   "position": 5
 }
diff --git a/website/docs/user-guide/python/example/_category_.json 
b/website/docs/user-guide/python/example/_category_.json
index dd22294..4d81ec1 100644
--- a/website/docs/user-guide/python/example/_category_.json
+++ b/website/docs/user-guide/python/example/_category_.json
@@ -1,4 +1,4 @@
 {
-  "label": "Example",
+  "label": "Examples",
   "position": 5
 }
diff --git a/website/docs/user-guide/rust/example/_category_.json 
b/website/docs/user-guide/rust/example/_category_.json
index dd22294..4d81ec1 100644
--- a/website/docs/user-guide/rust/example/_category_.json
+++ b/website/docs/user-guide/rust/example/_category_.json
@@ -1,4 +1,4 @@
 {
-  "label": "Example",
+  "label": "Examples",
   "position": 5
 }
diff --git a/website/sidebars.ts b/website/sidebars.ts
index f6fbeac..1aea14b 100644
--- a/website/sidebars.ts
+++ b/website/sidebars.ts
@@ -5,18 +5,13 @@ const sidebars: SidebarsConfig = {
     'index',
     {
       type: 'category',
-      label: 'User Guide',
+      label: 'Clients',
       items: [
         {type: 'autogenerated', dirName: 'user-guide'},
+        {type: 'link', label: 'Java', href: 
'https://fluss.apache.org/docs/0.9/apis/java-client/'},
       ],
     },
-    {
-      type: 'category',
-      label: 'Developer Guide',
-      items: [
-        'developer-guide/contributing',
-      ],
-    },
+    'developer-guide/contributing',
     {
       type: 'category',
       label: 'Release',

Reply via email to