Skip to content

Merge pull request #584 from genedna/main #1940

Merge pull request #584 from genedna/main

Merge pull request #584 from genedna/main #1940

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: |
sudo apt update
sudo apt install -y libwebkit2gtk-4.0-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: 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: sudo apt-get update && sudo apt-get install -y fuse3 libfuse3-dev
- run: 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
- name: Run ESLint
working-directory: ./moon
run: npm run lint
- name: Build Next.js application
working-directory: ./moon
run: npm run build