chore(deps): bump git-internal from 0.7.6 to 0.8.0 #5469
Workflow file for this run
This file contains hidden or 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
| # 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: Enforce DTO boundary (mono must not import jupiter::model) | |
| run: | | |
| if rg -q 'jupiter::model' mono/; then | |
| echo "mono must not depend on jupiter::model; use ceres::model and MonoApiService facades" | |
| rg 'jupiter::model' mono/ | |
| exit 1 | |
| fi | |
| - name: Enforce module dependency boundaries | |
| run: | | |
| if rg -q 'use callisto::' mono/src/; then | |
| echo "mono/src must not import callisto directly; use ceres::model and MonoApiService facades" | |
| rg 'use callisto::' mono/src/ | |
| exit 1 | |
| fi | |
| if rg -q 'jupiter::service::' mono/src/; then | |
| echo "mono/src must not import jupiter::service directly; use MonoApiService facades" | |
| rg 'jupiter::service::' mono/src/ | |
| exit 1 | |
| fi | |
| if rg -q 'api_service::mono::MonoApiService' ceres/src/transport/; then | |
| echo "ceres transport must not depend on MonoApiService" | |
| rg 'api_service::mono::MonoApiService' ceres/src/transport/ | |
| exit 1 | |
| fi | |
| if rg -q 'use crate::(pack|transport)' ceres/src/application/; then | |
| echo "ceres application must not import transport/pack directly" | |
| rg 'use crate::(pack|transport)' ceres/src/application/ | |
| exit 1 | |
| fi | |
| if rg --glob '!lfs_router.rs' -q '\.storage\.|_stg\(\)' mono/src/api/router/; then | |
| echo "mono routers must use MonoApiService facades, not storage" | |
| rg --glob '!lfs_router.rs' '\.storage\.|_stg\(\)' mono/src/api/router/ | |
| exit 1 | |
| fi | |
| if rg -q 'ceres::(api_service|pack|protocol|build_trigger|code_edit)' mono/; then | |
| echo "mono must use ceres::application::* and ceres::transport::* instead of legacy re-exports" | |
| rg 'ceres::(api_service|pack|protocol|build_trigger|code_edit)' mono/ | |
| exit 1 | |
| fi | |
| - 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 |