Refactor: use [fusio](https://github.com/tonbo-io/fusio) to implement the storage layer and support multiple storage #748
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
pull_request: | |
workflow_dispatch: | |
env: | |
CARGO_TERM_COLOR: always | |
CARGO_REGISTRIES_MY_REGISTRY_INDEX: https://github.com/rust-lang/crates.io-index | |
jobs: | |
# 1 | |
check: | |
name: Rust project check | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: | |
- ubuntu-latest | |
- macos-latest | |
- windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install latest | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
components: rustfmt, clippy | |
# `cargo check` command here will use installed `nightly` | |
# as it is set as an "override" for current directory | |
- name: Run cargo clippy | |
uses: actions-rs/cargo@v1 | |
with: | |
command: check | |
- name: Run cargo build | |
uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
- name: Run cargo test | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --workspace | |
# 2 | |
fmt: | |
name: Rust fmt | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install latest nightly | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly | |
override: true | |
components: rustfmt, clippy | |
# `cargo check` command here will use installed `nightly` | |
# as it is set as an "override" for current directory | |
- name: Run cargo fmt | |
uses: actions-rs/cargo@v1 | |
with: | |
command: fmt | |
args: -- --check | |
exmaples: | |
name: Rust exmaples | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run datafusion example | |
uses: actions-rs/cargo@v1 | |
with: | |
command: run | |
args: --example datafusion --features=datafusion | |
- name: Run declare example | |
uses: actions-rs/cargo@v1 | |
with: | |
command: run | |
args: --example declare --all-features | |
benchmark: | |
name: Rust benchmark | |
runs-on: self-hosted | |
permissions: | |
contents: write | |
pull-requests: write | |
repository-projects: write | |
if: github.event_name == 'pull_request' | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install latest nightly | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
# `cargo check` command here will use installed `nightly` | |
# as it is set as an "override" for current directory | |
- name: Run cargo bench | |
uses: actions-rs/cargo@v1 | |
with: | |
command: bench | |
args: --all-features | |
- name: Comment on PR using GitHub CLI | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
gh pr comment ${{ github.event.pull_request.number }} --body-file "read_benchmark.md" | |
gh pr comment ${{ github.event.pull_request.number }} --body-file "write_benchmark.md" |