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',