Skip to content

Merge pull request #693 from Ivanbeethoven/main #2271

Merge pull request #693 from Ivanbeethoven/main

Merge pull request #693 from Ivanbeethoven/main #2271

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 <[email protected]>
# 2. 2024-05-07: Update the `fuse` job to install `fuse3` and `libfuse3-dev` at 2024-05-07T16:00:00Z by Xiaoyang Han <[email protected]>
#
#
on: [push, pull_request]
name: Base GitHub Action for Check, Test and Lints
jobs:
setup:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- uses: Swatinem/rust-cache@v2
#
check:
name: Check
runs-on: ubuntu-latest
needs: setup
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions-rs/cargo@v1
with:
command: check
#
clippy:
name: Clippy
runs-on: ubuntu-latest
needs: setup
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- run: |
echo "deb http://gb.archive.ubuntu.com/ubuntu jammy main" | sudo tee -a /etc/apt/sources.list
sudo apt update
sudo apt install -y libwebkit2gtk-4.1-dev \
build-essential \
curl \
wget \
file \
libssl-dev \
libgtk-3-dev \
libayatana-appindicator3-dev \
librsvg2-dev
- uses: actions-rs/cargo@v1
with:
command: build
args: --bin mega --bin libra
- run: rustup component add clippy
- uses: actions-rs/cargo@v1
with:
command: clippy
args: --workspace --all-targets --all-features -- -D warnings
#
test:
name: Tests
runs-on: ubuntu-latest
needs: setup
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- run: |
sudo apt-get install -y git-lfs
git lfs install
git config --global user.email "[email protected]"
git config --global user.name "Mega"
git config --global lfs.url http://localhost:8000
- uses: actions-rs/cargo@v1
with:
command: build
args: --bin mega --bin libra
- uses: actions-rs/cargo@v1
with:
command: test
args: --workspace --test '*' -- --nocapture
#
doc:
name: Doc
runs-on: ubuntu-latest
needs: setup
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions-rs/cargo@v1
with:
command: doc
#
fuse:
name: Fuse Lints
runs-on: ubuntu-latest
needs: setup
steps:
- uses: actions/checkout@v3
- run: |
git submodule update --init --recursive
sudo apt-get update && sudo apt-get install -y fuse3 libfuse3-dev
cd ./scorpio && cargo clippy --all-targets --all-features -- -D warnings
moon-lint-and-build:
name: MOON Lint & Build
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: "22"
cache: "npm"
cache-dependency-path: ./moon/package.json
- name: Install dependencies
working-directory: ./moon
run: npm install --force
- name: Run ESLint
working-directory: ./moon
run: npm run lint
- name: Build Next.js application
working-directory: ./moon
run: npm run build