Skip to content

Fix/orion bugs fix #5321

Fix/orion bugs fix

Fix/orion bugs fix #5321

Workflow file for this run

# Based on https://github.com/actions-rs/meta/blob/master/recipes/quickstart.md
#
# History:
# 1. 2023-02-14: Created at 2023-02-14T16:00:00Z by Quanyi Ma <eli@patch.sh>
# 2. 2024-05-07: Update the `fuse` job to install `fuse3` and `libfuse3-dev` at 2024-05-07T16:00:00Z by Xiaoyang Han <lux1an216@gmail.com>
# 3. 2025-02-27: Reconstruct the workflow and add `install-dep` action to support test on multiple platforms by Neon <yyk1249501542@gmail.com>
#
on:
workflow_dispatch:
pull_request:
paths-ignore:
- "config/**"
- "docker/**"
- "docs/**"
- "moon/**"
- "scripts/**"
- "toolchains/**"
- ".github/workflows/web-**"
name: Base GitHub Action for Check, Test and Lints
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
format:
if: ${{ !(github.repository == 'web3infra-foundation/mega' && github.event_name == 'push') }}
name: Rustfmt Check
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install nightly toolchain
run: |
rustup toolchain install nightly --profile minimal
rustup component add rustfmt --toolchain nightly
- run: cargo +nightly fmt --all --check
#
clippy:
if: ${{ !(github.repository == 'web3infra-foundation/mega' && github.event_name == 'push') }}
name: Clippy Check
runs-on: ubuntu-latest
env:
CARGO_TERM_COLOR: always
RUSTUP_TOOLCHAIN: stable
RUSTC_WRAPPER: sccache
SCCACHE_DIR: ${{ github.workspace }}/.sccache
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install system dependencies
uses: ./.github/install-dep
with:
cache-key: sysdeps
platform: ubuntu
- name: Install sccache
run: |
sudo apt-get update
sudo apt-get install -y sccache
- name: Prepare sccache directory
run: |
mkdir -p "$SCCACHE_DIR"
- name: Cache sccache
uses: actions/cache@v4
with:
path: ${{ env.SCCACHE_DIR }}
key: sccache-${{ runner.os }}-stable-${{ hashFiles('**/Cargo.lock') }}-clippy
restore-keys: |
sccache-${{ runner.os }}-stable-${{ hashFiles('**/Cargo.lock') }}-
sccache-${{ runner.os }}-stable-
- name: Rust cache
uses: Swatinem/rust-cache@v2
with:
shared-key: base-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}
cache-on-failure: true
- name: Run cargo clippy
run: |
sccache --start-server || true
cargo +stable clippy --all-targets --all-features -- -D warnings
sccache --show-stats || true
test:
if: ${{ !(github.repository == 'web3infra-foundation/mega' && github.event_name == 'push') }}
name: Full Test
runs-on: ${{ fromJson(github.repository == 'web3infra-foundation/mega' && '["self-hosted","Linux","X64"]' || '"ubuntu-latest"') }}
env:
CARGO_TERM_COLOR: always
RUSTUP_TOOLCHAIN: stable
HOME: ${{ github.repository == 'web3infra-foundation/mega' && '/home/github' || '/home/runner' }}
RUSTC_WRAPPER: sccache
SCCACHE_DIR: ${{ github.workspace }}/.sccache
steps:
- name: Install Redis
run: sudo apt-get update && sudo apt-get install -y redis-server
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
lfs: true
- name: Install system dependencies
uses: ./.github/install-dep
with:
cache-key: sysdeps
platform: ubuntu
self-hosted: ${{ github.repository == 'web3infra-foundation/mega' }}
use-gtk: false
- name: Install sccache
run: |
sudo apt-get update
sudo apt-get install -y sccache
- name: Prepare sccache directory
run: |
mkdir -p "$SCCACHE_DIR"
- name: Cache sccache
uses: actions/cache@v4
with:
path: ${{ env.SCCACHE_DIR }}
key: sccache-${{ runner.os }}-stable-${{ hashFiles('**/Cargo.lock') }}-test
restore-keys: |
sccache-${{ runner.os }}-stable-${{ hashFiles('**/Cargo.lock') }}-
sccache-${{ runner.os }}-stable-
- name: Rust cache
uses: Swatinem/rust-cache@v2
with:
shared-key: base-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}
cache-on-failure: true
- name: Set up git lfs
run: |
echo "GPG_TTY=$(tty)" >> $GITHUB_ENV
git lfs install
git config --global user.email "mega@github.com"
git config --global user.name "Mega"
git config --global lfs.url http://localhost:8000
- name: Run cargo test
run: |
sccache --start-server || true
cargo test --manifest-path common/Cargo.toml --all-features --no-fail-fast -- --nocapture
cargo test --manifest-path jupiter/Cargo.toml --all-features --no-fail-fast -- --nocapture
cargo test --manifest-path ceres/Cargo.toml --all-features --no-fail-fast -- --nocapture
cargo test --manifest-path vault/Cargo.toml --all-features --no-fail-fast -- --nocapture
cargo test --manifest-path saturn/Cargo.toml --all-features --no-fail-fast -- --nocapture
cargo test --manifest-path orion-server/Cargo.toml --all-features --no-fail-fast -- --nocapture
sccache --show-stats || true
# Note: The fuse/scorpio job has been removed as scorpio has been moved
# to its own repository: https://github.com/web3infra-foundation/scorpiofs