Files
airi/.github/workflows/ci.yml
T

106 lines
2.2 KiB
YAML

name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main
env:
# Rust
CARGO_TERM_COLOR: always
# https://github.com/Mozilla-Actions/sccache-action#rust-code
RUSTC_WRAPPER: sccache
SCCACHE_GHA_ENABLED: 'true'
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# # Rust
# - uses: dtolnay/rust-toolchain@nightly
# - uses: mozilla-actions/sccache-action@v0.0.3
- name: Install system dependencies
run: |
sudo apt update
sudo apt install -y libwebkit2gtk-4.1-dev
# Node.js
- uses: pnpm/action-setup@v3
- uses: actions/setup-node@v4
with:
node-version: lts/*
cache: pnpm
- name: Install
run: pnpm install
- name: Lint
run: |
pnpm run lint
pnpm run lint:rust
# - name: Lint Rust
# run: |
# cargo +nightly fmt --all --check
# cargo clippy -- -W clippy::pedantic -W clippy::nursery -A clippy::missing-errors-doc -A clippy::module_name_repetitions
build-test:
name: Build Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# # Rust
# - uses: dtolnay/rust-toolchain@nightly
# - uses: mozilla-actions/sccache-action@v0.0.3
- name: Install system dependencies
run: |
sudo apt update
sudo apt install -y libwebkit2gtk-4.1-dev
- uses: pnpm/action-setup@v3
- uses: actions/setup-node@v4
with:
node-version: lts/*
cache: pnpm
- name: Install
run: pnpm install
- name: Build
run: |
pnpm run build:packages
pnpm run build:apps
# - name: Build Rust
# run: |
# pnpm run build:crates
typecheck:
name: Type Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# Node.js
- uses: pnpm/action-setup@v3
- uses: actions/setup-node@v4
with:
node-version: lts/*
cache: pnpm
- name: Install
run: pnpm install
- name: Typecheck
run: pnpm run typecheck