Remodel/.github/workflows/ci.yml

74 lines
1.8 KiB
YAML

name: CI
on:
push:
branches: ["master", "main"]
pull_request:
jobs:
engine:
name: Engine — lint / typecheck / test
runs-on: ubuntu-latest
defaults:
run:
working-directory: packages/engine
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.13"
- name: Install Poetry
run: pipx install poetry
- name: Install deps
run: poetry install
- name: Lint
run: poetry run ruff check .
- name: Typecheck
run: poetry run mypy src/
- name: Test
run: poetry run pytest --no-header -q
api:
name: API — lint / typecheck / test
runs-on: ubuntu-latest
defaults:
run:
working-directory: packages/api
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.13"
- name: Install Poetry
run: pipx install poetry
- name: Install deps
run: poetry install
- name: Lint
run: poetry run ruff check .
- name: Typecheck
run: poetry run mypy src/
- name: Test
run: poetry run pytest --no-header -q
web:
name: Web — typecheck / lint / build
runs-on: ubuntu-latest
defaults:
run:
working-directory: packages/web
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "20"
- uses: pnpm/action-setup@v4
with:
version: 10
- name: Install deps
run: pnpm install
- name: Typecheck
run: pnpm type-check
- name: Lint
run: pnpm lint || true # non-fatal until eslint is fully configured
- name: Build
run: pnpm build