Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
11 changes: 7 additions & 4 deletions .github/workflows/ci_check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -102,26 +102,29 @@ jobs:

website-dependencies:
runs-on: ubuntu-latest
defaults:
run:
working-directory: website

steps:
- uses: actions/checkout@v6

- uses: pnpm/action-setup@v6
with:
version: 8
# Follow website/package.json packageManager field
version: 11.8.0
run_install: false

- uses: actions/setup-node@v6
with:
node-version: "20"
node-version-file: "website/.node-version"
cache: pnpm
cache-dependency-path: "website/pnpm-lock.yaml"

- name: Install Dependencies
working-directory: website
run: pnpm install --frozen-lockfile

- name: Check dependencies
working-directory: website
run: |
npx license-checker --production --excludePrivatePackages --csv > DEPENDENCIES.node.csv
git diff --exit-code
177 changes: 74 additions & 103 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ jobs:
- name: Upload docs
uses: actions/upload-artifact@v7
with:
name: rust-docs
name: rust-documentation
path: ./core/target/doc

build-java-doc:
Expand All @@ -99,7 +99,7 @@ jobs:
- name: Upload docs
uses: actions/upload-artifact@v7
with:
name: java-docs
name: binding-java-documentation
path: ./bindings/java/target/site/apidocs

build-nodejs-doc:
Expand Down Expand Up @@ -134,7 +134,7 @@ jobs:
- name: Upload docs
uses: actions/upload-artifact@v7
with:
name: nodejs-docs
name: binding-nodejs-documentation
path: ./bindings/nodejs/docs

build-python-doc:
Expand Down Expand Up @@ -166,7 +166,7 @@ jobs:
- name: Upload docs
uses: actions/upload-artifact@v7
with:
name: python-docs
name: binding-python-documentation
path: ./bindings/python/site

build-ruby-doc:
Expand Down Expand Up @@ -194,7 +194,7 @@ jobs:
- name: Upload docs
uses: actions/upload-artifact@v7
with:
name: ruby-docs
name: binding-ruby-documentation
path: ./bindings/ruby/doc

build-c-doc:
Expand All @@ -218,7 +218,7 @@ jobs:
- name: Upload docs
uses: actions/upload-artifact@v7
with:
name: C-docs
name: binding-c-documentation
path: ./bindings/c/docs/doxygen/html

build-lua-doc:
Expand All @@ -237,7 +237,7 @@ jobs:
- name: Upload docs
uses: actions/upload-artifact@v7
with:
name: lua-docs
name: binding-lua-documentation
path: ./bindings/lua/doc/

build-haskell-doc:
Expand Down Expand Up @@ -285,7 +285,7 @@ jobs:
- name: Upload docs
uses: actions/upload-artifact@v7
with:
name: haskell-docs
name: binding-haskell-documentation
path: ./bindings/haskell/doc/

build-cpp-doc:
Expand Down Expand Up @@ -314,7 +314,7 @@ jobs:
- name: Upload docs
uses: actions/upload-artifact@v7
with:
name: cpp-docs
name: binding-cpp-documentation
path: ./bindings/cpp/build/docs_doxygen/html

build-ocaml-doc:
Expand Down Expand Up @@ -350,7 +350,7 @@ jobs:
- name: Upload docs
uses: actions/upload-artifact@v7
with:
name: ocaml-docs
name: binding-ocaml-documentation
path: ./bindings/ocaml/_build/default/_doc/_html

build-object-store-opendal-doc:
Expand All @@ -373,7 +373,7 @@ jobs:
- name: Upload docs
uses: actions/upload-artifact@v7
with:
name: object-store-opendal-docs
name: integration-object-store-opendal-documentation
path: ./integrations/object_store/target/doc

build-dav-server-opendalfs-doc:
Expand All @@ -397,7 +397,7 @@ jobs:
- name: Upload docs
uses: actions/upload-artifact@v7
with:
name: dav-server-opendalfs-docs
name: integration-dav-server-opendalfs-documentation
path: ./integrations/dav-server/target/doc

build-unftp-sbe-opendal-doc:
Expand All @@ -420,7 +420,7 @@ jobs:
- name: Upload docs
uses: actions/upload-artifact@v7
with:
name: unftp-sbe-opendal-docs
name: integration-unftp-sbe-opendal-documentation
path: ./integrations/unftp-sbe/target/doc

build-parquet-opendal-doc:
Expand All @@ -443,7 +443,7 @@ jobs:
- name: Upload docs
uses: actions/upload-artifact@v7
with:
name: object-parquet-docs
name: integration-object-parquet-documentation
path: ./integrations/parquet/target/doc

build-website:
Expand All @@ -465,6 +465,9 @@ jobs:
- build-dav-server-opendalfs-doc
- build-unftp-sbe-opendal-doc
- build-parquet-opendal-doc
defaults:
run:
working-directory: "website"

steps:
- uses: actions/checkout@v6
Expand All @@ -473,107 +476,71 @@ jobs:

- uses: pnpm/action-setup@v6
with:
version: 8
# Follow website/package.json packageManager field
version: 11.8.0
run_install: false

- uses: actions/setup-node@v6
with:
node-version: "20"
node-version-file: "website/.node-version"
cache: pnpm
cache-dependency-path: "website/pnpm-lock.yaml"

- name: Corepack
working-directory: website
run: npm i -g --force corepack && corepack enable

- name: Download rust docs
uses: actions/download-artifact@v8
with:
name: rust-docs
path: ./website/static/docs/rust

- name: Download nodejs docs
uses: actions/download-artifact@v8
with:
name: nodejs-docs
path: ./website/static/docs/nodejs

- name: Download python docs
uses: actions/download-artifact@v8
with:
name: python-docs
path: ./website/static/docs/python
run: npm install -g --force corepack && corepack enable

- name: Download ruby docs
uses: actions/download-artifact@v8
with:
name: ruby-docs
path: ./website/static/docs/ruby
- name: Install Dependencies
run: pnpm install --frozen-lockfile

- name: Download java docs
- name: Download documentations
uses: actions/download-artifact@v8
with:
name: java-docs
path: ./website/static/docs/java
pattern: "*-documentation"
path: website/static/docs/

- name: Download C docs
uses: actions/download-artifact@v8
with:
name: C-docs
path: ./website/static/docs/c
- name: Organize documentations
run: |
# Useful for debugging
ls -al static/docs/

- name: Download lua docs
uses: actions/download-artifact@v8
with:
name: lua-docs
path: ./website/static/docs/lua
# Becasue `website/static/docs/` maps to `/docs/` on website, we want to organize paths
mv static/docs/rust-documentation/ static/docs/rust/
mv static/docs/binding-java-documentation/ static/docs/java/
mv static/docs/binding-nodejs-documentation/ static/docs/nodejs/
mv static/docs/binding-python-documentation/ static/docs/python/
mv static/docs/binding-ruby-documentation/ static/docs/ruby/
mv static/docs/binding-c-documentation/ static/docs/c/
mv static/docs/binding-lua-documentation/ static/docs/lua/
mv static/docs/binding-haskell-documentation/ static/docs/haskell/
mv static/docs/binding-cpp-documentation/ static/docs/cpp/
mv static/docs/binding-ocaml-documentation/ static/docs/ocaml/

- name: Download haskell docs
uses: actions/download-artifact@v8
with:
name: haskell-docs
path: ./website/static/docs/haskell
mkdir -p static/docs/integrations/object_store/target
mv static/docs/integration-object-store-opendal-documentation/ static/docs/integrations/object_store/target/doc

- name: Download cpp docs
uses: actions/download-artifact@v8
with:
name: cpp-docs
path: ./website/static/docs/cpp
mkdir -p static/docs/integrations/dav-server/target
mv static/docs/integration-dav-server-opendalfs-documentation/ static/docs/integrations/dav-server/target/doc

- name: Download ocaml docs
uses: actions/download-artifact@v8
with:
name: ocaml-docs
path: ./website/static/docs/ocaml
mkdir -p static/docs/integrations/unftp-sbe/target
mv static/docs/integration-unftp-sbe-opendal-documentation/ static/docs/integrations/unftp-sbe/target/doc

- name: Download object-store-opendal docs
uses: actions/download-artifact@v8
with:
name: object-store-opendal-docs
path: ./website/static/docs/object-store-opendal
mkdir -p static/docs/integrations/parquet/target
mv static/docs/integration-object-parquet-documentation/ static/docs/integrations/parquet/target/doc

- name: Download dav-server-opendalfs docs
uses: actions/download-artifact@v8
with:
name: dav-server-opendalfs-docs
path: ./website/static/docs/dav-server-opendalfs
# Useful for debugging
ls -al static/docs/

- name: Download unftp-sbe-opendal docs
uses: actions/download-artifact@v8
- name: Cache website build artifacts
uses: actions/cache@v5
with:
name: unftp-sbe-opendal-docs
path: ./website/static/docs/unftp-sbe-opendal

- name: Install Dependencies
working-directory: website
run: pnpm install --frozen-lockfile
path: |
website/node_modules/.cache/
key: website-build-artifacts-${{ runner.os }}-${{ hashFiles('website/pnpm-lock.yaml') }}-v1

- name: Build
working-directory: website
run: pnpm build

- name: Copy asf file
run: cp .asf.yaml ./website/build/.asf.yaml
run: |
pnpm build
cp ${{ github.workspace }}/.asf.yaml ./build/.asf.yaml

- name: Deploy to gh-pages
uses: peaceiris/actions-gh-pages@v4.1.0
Expand All @@ -587,18 +554,20 @@ jobs:
force_orphan: true

- name: Clear build
run: rm -rf ./website/build
run: rm -rf ./build

- name: Build for staging version
if: ${{ startsWith(github.ref, 'refs/tags/') && contains(github.ref, 'rc') }}
working-directory: website
run: pnpm build
run: |
pnpm build
cp ${{ github.workspace }}/.asf.yaml ./build/.asf.yaml
env:
OPENDAL_WEBSITE_STAGING: true

- name: Copy asf file
if: ${{ startsWith(github.ref, 'refs/tags/') && contains(github.ref, 'rc') }}
run: cp .asf.yaml ./website/build/.asf.yaml
run: cp ${{ github.workspace }}/.asf.yaml ./build/.asf.yaml

- name: Prepare staged name
if: ${{ startsWith(github.ref, 'refs/tags/') && contains(github.ref, 'rc') }}
Expand All @@ -617,11 +586,12 @@ jobs:

- name: Clear build
if: ${{ startsWith(github.ref, 'refs/tags/') && contains(github.ref, 'rc') }}
run: rm -rf ./website/build
run: rm -rf ./build

- name: Build for nightlies with tagged version
working-directory: website
run: pnpm build
run: |
pnpm build
cp ${{ github.workspace }}/.asf.yaml ./build/.asf.yaml
env:
# Keep this same with the remote_path below
OPENDAL_WEBSITE_BASE_URL: /opendal/opendal-docs-release-${{ github.ref_name }}/
Expand All @@ -642,15 +612,16 @@ jobs:
chmod 0600 "${HOME}/.ssh/nightlies_rsync"
rsync -avzr \
-e "ssh -i ${HOME}/.ssh/nightlies_rsync -p ${NIGHTLIES_RSYNC_PORT} -o StrictHostKeyChecking=no" \
website/build/ \
build/ \
"${NIGHTLIES_RSYNC_USER}@${NIGHTLIES_RSYNC_HOST}:${NIGHTLIES_RSYNC_PATH}/opendal/opendal-docs-release-${{ github.ref_name }}/"

- name: Clear build
run: rm -rf ./website/build
run: rm -rf ./build

- name: Build for nightlies with stable version
working-directory: website
run: pnpm build
run: |
pnpm build
cp ${{ github.workspace }}/.asf.yaml ./build/.asf.yaml
env:
OPENDAL_WEBSITE_BASE_URL: /opendal/opendal-docs-stable/

Expand All @@ -669,5 +640,5 @@ jobs:
chmod 0600 "${HOME}/.ssh/nightlies_rsync"
rsync -avzr --delete \
-e "ssh -i ${HOME}/.ssh/nightlies_rsync -p ${NIGHTLIES_RSYNC_PORT} -o StrictHostKeyChecking=no" \
website/build/ \
build/ \
"${NIGHTLIES_RSYNC_USER}@${NIGHTLIES_RSYNC_HOST}:${NIGHTLIES_RSYNC_PATH}/opendal/opendal-docs-stable/"
1 change: 1 addition & 0 deletions website/.node-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
24.17
Loading