Files
moeka-project/.github/workflows/ci.yml
T
Typed SIGTERM 977fb20f26 ci: skip crowdin (#376)
[skip ci] [skip netlify]
2025-08-21 22:14:16 +08:00

122 lines
3.1 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
build-test:
name: Build Test (${{ matrix.app_name }})
if: ${{ !(github.event_name == 'pull_request' && startsWith(github.event.pull_request.head.label, 'i18n/')) }}
strategy:
matrix:
include:
- command: pnpm -F @proj-airi/stage-web run build && pnpm -F @proj-airi/docs run build:base && mv ./docs/.vitepress/dist ./apps/stage-web/dist/docs && pnpm -F @proj-airi/stage-ui run story:build && mv ./packages/stage-ui/.histoire/dist ./apps/stage-web/dist/ui
app_name: stage-web
- command: pnpm -F @proj-airi/stage-tamagotchi run build
app_name: stage-tamagotchi
- command: pnpm -F @proj-airi/ui-transitions run build && pnpm -F @proj-airi/ui-transitions run play:build
app_name: ui-transitions
- command: pnpm -F @proj-airi/ui-loading-screens run build && pnpm -F @proj-airi/ui-loading-screens run play:build
app_name: ui-loading-screens
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
# Turborepo
- name: Cache turbo build setup
uses: actions/cache@v4
with:
path: .turbo
key: ${{ runner.os }}-turbo-${{ github.sha }}
restore-keys: |
${{ runner.os }}-turbo-
- 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
- name: Build App
run: |
${{ matrix.command }}
typecheck:
name: Type Check
runs-on: ubuntu-latest
if: ${{ !(github.event_name == 'pull_request' && startsWith(github.event.pull_request.head.label, 'i18n/')) }}
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