Skip to content

Commit

Permalink
chore: Make every components seperate, remove workspace (#4134)
Browse files Browse the repository at this point in the history
  • Loading branch information
Xuanwo authored Feb 4, 2024
1 parent cabab15 commit 0f316b4
Show file tree
Hide file tree
Showing 38 changed files with 3,610 additions and 12,709 deletions.
113 changes: 113 additions & 0 deletions .github/workflows/ci_check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
# 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.

name: Check

on:
push:
branches:
- main
pull_request:
branches:
- main

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }}
cancel-in-progress: true

env:
RUST_BACKTRACE: 1

jobs:
typos:
runs-on: ubuntu-latest
timeout-minutes: 10
env:
FORCE_COLOR: 1
steps:
- uses: actions/checkout@v4
- run: curl -LsSf https://github.com/crate-ci/typos/releases/download/v1.14.8/typos-v1.14.8-x86_64-unknown-linux-musl.tar.gz | tar zxf - -C ${CARGO_HOME:-~/.cargo}/bin

- name: do typos check with typos-cli
run: typos

licenses:
runs-on: ubuntu-latest
timeout-minutes: 10
env:
FORCE_COLOR: 1
steps:
- uses: actions/checkout@v4
- name: Check license headers
uses: korandoru/[email protected]

# Add python format check later.
code-format:
runs-on: ubuntu-latest
timeout-minutes: 10
env:
FORCE_COLOR: 1
steps:
- uses: actions/checkout@v4

- name: Rust Code Format
run: ./scripts/workspace.py cargo fmt -- --check

dependencies:
runs-on: ubuntu-latest
timeout-minutes: 10
env:
FORCE_COLOR: 1
steps:
- uses: actions/checkout@v4

- name: Setup Rust toolchain
uses: ./.github/actions/setup
with:
need-deny: true

- name: Check dependencies
run: python3 ./scripts/dependencies.py check

website-dependencies:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: pnpm/action-setup@v2
with:
version: 8

- uses: actions/setup-node@v4
with:
node-version: '18'
cache: pnpm
cache-dependency-path: "website/pnpm-lock.yaml"

- name: Corepack
working-directory: website
run: corepack enable

- 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
109 changes: 16 additions & 93 deletions .github/workflows/ci.yml → .github/workflows/core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
# specific language governing permissions and limitations
# under the License.

name: CI
name: Core CI

on:
push:
Expand All @@ -24,77 +24,15 @@ on:
pull_request:
branches:
- main
paths-ignore:
- "docs/**"
- "website/**"
- "*.md"
- ".github/**"
- "!.github/workflows/ci.yml"
paths:
- "core/**"
- ".github/workflows/core.yml"

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }}
cancel-in-progress: true

jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Setup Rust toolchain
uses: ./.github/actions/setup

- name: Check license headers
uses: korandoru/[email protected]

- name: Cargo format
run: cargo fmt --all -- --check

- name: Check diff
run: git diff --exit-code

check_dependencies:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Setup Rust toolchain
uses: ./.github/actions/setup
with:
need-deny: true

- name: Check dependencies
run: python3 ./scripts/dependencies.py check

check_website_dependencies:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: pnpm/action-setup@v2
with:
version: 8

- uses: actions/setup-node@v4
with:
node-version: '18'
cache: pnpm
cache-dependency-path: "website/pnpm-lock.yaml"

- name: Corepack
working-directory: website
run: corepack enable

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

- name: Check dependencies
working-directory: website
run: |
npx license-checker --producation --excludePrivatePackages --csv > DEPENDENCIES.node.csv
git diff --exit-code
check_docs:
runs-on: ubuntu-latest
steps:
Expand All @@ -107,22 +45,15 @@ jobs:
need-protoc: true
github-token: ${{ secrets.GITHUB_TOKEN }}

- name: Checkout python env
uses: actions/setup-python@v5
with:
python-version: "3.8"

- name: Checkout java env
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "11"

- name: Setup OCaml toolchain
uses: ./.github/actions/setup-ocaml

- name: Cargo doc
run: cargo doc --lib --no-deps --all-features -p opendal
working-directory: core
run: cargo doc --lib --no-deps --all-features

check_clippy:
runs-on: ubuntu-latest
Expand All @@ -136,27 +67,15 @@ jobs:
need-protoc: true
github-token: ${{ secrets.GITHUB_TOKEN }}

- name: Checkout python env
uses: actions/setup-python@v5
with:
python-version: "3.8"

- name: Checkout java env
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "11"

- name: Setup OCaml toolchain
uses: ./.github/actions/setup-ocaml

- name: Cargo clippy
# FIXME
# remove `-exclude opendal-php` after https://github.com/apache/opendal/issues/3055 addressed
run: cargo clippy --all-targets --all-features --workspace --exclude opendal-php -- -D warnings

- name: Check diff
run: git diff --exit-code
working-directory: core
run: cargo clippy --all-targets --all-features -- -D warnings

check_msrv:
runs-on: ubuntu-latest
Expand All @@ -170,7 +89,8 @@ jobs:
rustup toolchain install ${OPENDAL_MSRV}
rustup component add clippy --toolchain ${OPENDAL_MSRV}
- name: Check
run: cargo +${OPENDAL_MSRV} clippy -p opendal --no-deps -- -D warnings
working-directory: core
run: cargo +${OPENDAL_MSRV} clippy -- -D warnings

build_default_features:
runs-on: ${{ matrix.os }}
Expand All @@ -187,7 +107,8 @@ jobs:
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Build
run: cargo build -p opendal -p oli -p object_store_opendal
working-directory: core
run: cargo build

build_all_features:
runs-on: ubuntu-latest
Expand All @@ -211,6 +132,7 @@ jobs:
github-token: ${{ secrets.GITHUB_TOKEN }}

- name: Build
working-directory: core
run: cargo build --all-features

build_all_platforms:
Expand Down Expand Up @@ -242,6 +164,7 @@ jobs:

- name: Build
shell: bash
working-directory: core
run: |
FEATURES=(
services-alluxio
Expand Down Expand Up @@ -303,6 +226,7 @@ jobs:
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Build
working-directory: core
run: |
FEATURES=(
services-azblob
Expand All @@ -325,15 +249,14 @@ jobs:
with:
distribution: temurin
java-version: "11"
- name: Setup OCaml toolchain
uses: ./.github/actions/setup-ocaml

- name: Setup Rust toolchain
uses: ./.github/actions/setup
with:
need-nextest: true

- name: Test
working-directory: core
run: cargo nextest run --no-fail-fast --features layers-all && cargo test --doc
env:
LD_LIBRARY_PATH: ${{ env.JAVA_HOME }}/lib/server:${{ env.LD_LIBRARY_PATH }}
5 changes: 3 additions & 2 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,8 @@ jobs:
java-version: '17'

- name: Build OpenDAL doc
run: cargo +nightly doc --lib --no-deps --all-features -p opendal
working-directory: core
run: cargo +nightly doc --lib --no-deps --all-features
env:
LD_LIBRARY_PATH: ${{ env.JAVA_HOME }}/lib/server:${{ env.LD_LIBRARY_PATH }}
# Enable cfg docs to make sure docs are built.
Expand All @@ -67,7 +68,7 @@ jobs:
uses: actions/upload-artifact@v3
with:
name: rust-docs
path: ./target/doc
path: ./core/target/doc

build-java-doc:
runs-on: ubuntu-latest
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/oay_test_webdav.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,10 @@ jobs:
make
- name: Build and Start WebDAV service
working-directory: bin/oay
run: |
cargo build --package oay --bin webdav --release
cargo run --package oay --bin webdav --release &
cargo build --bin webdav --release
cargo run --bin webdav --release &
- name: Run litmus tests
run: |
Expand Down
Loading

0 comments on commit 0f316b4

Please sign in to comment.