This is an automated email from the ASF dual-hosted git repository.
jark pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/fluss.git
The following commit(s) were added to refs/heads/main by this push:
new f2fb5f98 [website] Setup CI/CD for apache fluss website
f2fb5f98 is described below
commit f2fb5f98498e9f4b16bdddeb2007a18b829a95fb
Author: Jark Wu <[email protected]>
AuthorDate: Fri Jul 11 00:22:42 2025 +0800
[website] Setup CI/CD for apache fluss website
---
.github/workflows/docs-deploy.yaml | 36 +++++++---------------
website/.asf.yaml | 33 ++++++++++++++++++++
website/.htaccess | 2 ++
website/blog/authors.yml | 6 ++--
website/build_versioned_docs.sh | 2 +-
website/docusaurus.config.ts | 20 ++++++------
website/src/components/HomepageIntroduce/index.tsx | 2 +-
website/src/pages/index.tsx | 2 +-
8 files changed, 62 insertions(+), 41 deletions(-)
diff --git a/.github/workflows/docs-deploy.yaml
b/.github/workflows/docs-deploy.yaml
index ab1c170d..17dd1b3a 100644
--- a/.github/workflows/docs-deploy.yaml
+++ b/.github/workflows/docs-deploy.yaml
@@ -22,33 +22,19 @@ on:
paths:
- 'website/**'
+# We use `repository_dispatch` to trigger the deployment job on the
apache/fluss-website repository.
+#
https://github.com/apache/fluss-website/blob/main/.github/workflows/website-deploy.yaml
+#
https://docs.github.com/en/actions/reference/events-that-trigger-workflows#repository_dispatch
jobs:
deploy:
runs-on: ubuntu-latest
- defaults:
- run:
- working-directory: ./website
steps:
- - uses: actions/checkout@v4
- with:
- ref: main
- fetch-depth: 0
- - name: Generate versioned docs
- run: ./build_versioned_docs.sh
- - uses: actions/setup-node@v4
- with:
- node-version: 18
- - name: Install dependencies
- run: npm install
- - name: Build website
- run: npm run build
- - uses: webfactory/[email protected]
- with:
- ssh-private-key: ${{ secrets.GH_PAGES_DEPLOY }}
- - name: Deploy website
- env:
- USE_SSH: true
+ - name: Send Event to Trigger Deploy
run: |
- git config --global user.email "[email protected]"
- git config --global user.name "gh-actions"
- npm run deploy -- --skip-build
\ No newline at end of file
+ curl -L \
+ -X POST \
+ -H "Accept: application/vnd.github+json" \
+ -H "Authorization: Bearer ${{ secrets.GH_TOKEN }}" \
+ -H "X-GitHub-Api-Version: 2022-11-28" \
+ https://api.github.com/repos/apache/fluss-website/dispatches \
+ -d '{"event_type":"website-deploy","client_payload":{"repository":
"apache/fluss"}}'
\ No newline at end of file
diff --git a/website/.asf.yaml b/website/.asf.yaml
new file mode 100644
index 00000000..c134c085
--- /dev/null
+++ b/website/.asf.yaml
@@ -0,0 +1,33 @@
+# 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.
+
+github:
+ description: "Apache Fluss Website"
+ homepage: https://fluss.apache.org/
+ features:
+ issues: false
+ projects: false
+ wiki: false
+ labels:
+ - fluss
+ enabled_merge_buttons:
+ squash: true
+ merge: false
+ rebase: false
+
+publish:
+ whoami: asf-site
\ No newline at end of file
diff --git a/website/.htaccess b/website/.htaccess
new file mode 100644
index 00000000..47116771
--- /dev/null
+++ b/website/.htaccess
@@ -0,0 +1,2 @@
+# Allow loading YouTube content after ensuring consent.
+SetEnv CSP_PROJECT_DOMAINS "https://www.youtube-nocookie.com
https://www.youtube.com https://github.com
https://avatars.githubusercontent.com https://calendar.google.com"
\ No newline at end of file
diff --git a/website/blog/authors.yml b/website/blog/authors.yml
index 81af588a..fb65495d 100644
--- a/website/blog/authors.yml
+++ b/website/blog/authors.yml
@@ -18,19 +18,19 @@
jark:
name: Jark Wu
- title: Creator of Fluss project
+ title: PMC member of Apache Fluss
url: https://github.com/wuchong
image_url: https://github.com/wuchong.png
giannis:
name: Giannis Polyzos
- title: Fluss Contributor
+ title: PMC member of Apache Fluss
url: https://github.com/polyzos
image_url: https://github.com/polyzos.png
yuxia:
name: Luo Yuxia
- title: Fluss Committer
+ title: PMC member of Apache Fluss
url: https://github.com/luoyuxia
image_url: https://github.com/luoyuxia.png
diff --git a/website/build_versioned_docs.sh b/website/build_versioned_docs.sh
index 2b5069c3..4831b669 100755
--- a/website/build_versioned_docs.sh
+++ b/website/build_versioned_docs.sh
@@ -25,7 +25,7 @@ mkdir -p "$VERSIONED_DOCS"
mkdir -p "$VERSIONED_SIDEBARS"
# Configure the remote repository URL and temporary directory
-REPO_URL="https://github.com/alibaba/fluss.git"
+REPO_URL="https://github.com/apache/fluss.git"
TEMP_DIR=$(mktemp -d)
# Check if the temporary directory was successfully created
diff --git a/website/docusaurus.config.ts b/website/docusaurus.config.ts
index e65e83ec..6b10a926 100644
--- a/website/docusaurus.config.ts
+++ b/website/docusaurus.config.ts
@@ -21,21 +21,21 @@ import type * as Preset from '@docusaurus/preset-classic';
import versionReplace from './src/plugins/remark-version-replace/index';
const config: Config = {
- title: 'Fluss',
+ title: 'Apache Fluss™ (incubating)',
tagline: 'Streaming Storage for Real-Time Analytics',
favicon: 'img/logo/fluss_favicon.svg',
// Set the production url of your site here
- url: 'https://alibaba.github.io/',
+ url: 'https://fluss.apache.org/',
// Set the /<baseUrl>/ pathname under which your site is served
// For GitHub pages deployment, it is often '/<projectName>/'
- baseUrl: '/fluss-docs/',
+ baseUrl: '/',
// GitHub pages deployment config.
// If you aren't using GitHub pages, you don't need these.
- organizationName: 'alibaba', // Usually your GitHub org/user name.
- projectName: 'fluss-docs', // Usually your repo name.
- deploymentBranch: 'gh-pages',
+ organizationName: 'apache', // Usually your GitHub org/user name.
+ projectName: 'fluss-website', // Usually your repo name.
+ deploymentBranch: 'asf-site',
trailingSlash: true,
onBrokenLinks: 'throw',
@@ -58,7 +58,7 @@ const config: Config = {
docs: {
sidebarPath: './sidebars.ts',
editUrl: ({docPath}) =>
-
`https://github.com/alibaba/fluss/edit/main/website/docs/${docPath}`,
+
`https://github.com/apache/fluss/edit/main/website/docs/${docPath}`,
remarkPlugins: [versionReplace],
},
blog: {
@@ -88,7 +88,7 @@ const config: Config = {
routeBasePath: 'community',
sidebarPath: './sidebarsCommunity.js',
editUrl: ({docPath}) => {
- return
`https://github.com/alibaba/fluss/edit/main/website/community/${docPath}`;
+ return
`https://github.com/apache/fluss/edit/main/website/community/${docPath}`;
},
// ... other options
},
@@ -163,7 +163,7 @@ const config: Config = {
dropdownActiveClassDisabled: true,
},
{
- href: 'https://github.com/alibaba/fluss',
+ href: 'https://github.com/apache/fluss',
position: 'right',
className: 'header-github-link',
'aria-label': 'GitHub repository',
@@ -172,7 +172,7 @@ const config: Config = {
},
footer: {
style: 'dark',
- copyright: `Copyright © ${new Date().getFullYear()} Alibaba, Inc.
+ copyright: `Copyright © ${new Date().getFullYear()} The Apache Software
Foundation.
Apache®, Apache Flink®, Flink®, Apache Kafka®, Kafka®, Spark® and
associated open source project names and logos are trademarks of the Apache
Software Foundation.`,
},
prism: {
diff --git a/website/src/components/HomepageIntroduce/index.tsx
b/website/src/components/HomepageIntroduce/index.tsx
index 01c476ac..577cd3b4 100644
--- a/website/src/components/HomepageIntroduce/index.tsx
+++ b/website/src/components/HomepageIntroduce/index.tsx
@@ -28,7 +28,7 @@ type IntroduceItem = {
const IntroduceList: IntroduceItem[] = [
{
- title: 'What is Fluss?',
+ title: 'What is Apache Fluss?',
description: (
<>
Fluss is a streaming storage built for real-time analytics which can
serve as the real-time data layer for Lakehouse architectures. With its
columnar stream and real-time update capabilities, Fluss integrates seamlessly
with Apache Flink to enable high-throughput, low-latency, cost-effective
streaming data warehouses tailored for real-time applications.
diff --git a/website/src/pages/index.tsx b/website/src/pages/index.tsx
index bd3f41e6..6e353e65 100644
--- a/website/src/pages/index.tsx
+++ b/website/src/pages/index.tsx
@@ -72,7 +72,7 @@ export default function Home(): JSX.Element {
const {siteConfig} = useDocusaurusContext();
return (
<Layout
- title="Fluss"
+ title="Apache Fluss™ (incubating)"
description="Streaming Storage for Real-Time Analytics">
<HomepageHeader/>
<main>