CI / backend (pull_request) Canceled after 0s
CI / shell (pull_request) Canceled after 0s
CI / frontend (pull_request) Canceled after 0s
CI / arm64-smoke (pull_request) Canceled after 0s
CI / backend (push) Canceled after 0s
CI / shell (push) Canceled after 0s
CI / frontend (push) Canceled after 0s
CI / arm64-smoke (push) Canceled after 0s
82 lines
2.3 KiB
YAML
82 lines
2.3 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
|
|
jobs:
|
|
backend:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.11"
|
|
- name: Install Python dependencies
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install -r requirements.lock
|
|
- name: Pip check
|
|
run: pip check
|
|
- name: Import greenlet
|
|
run: python -c "import greenlet; print(greenlet.__version__)"
|
|
- name: Ruff
|
|
run: ruff check backend
|
|
- name: Mypy
|
|
run: mypy backend/app
|
|
- name: Pytest
|
|
run: pytest
|
|
|
|
shell:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Install ShellCheck
|
|
run: sudo apt-get update && sudo apt-get install -y shellcheck
|
|
- name: Bash syntax check
|
|
run: |
|
|
bash -n scripts/install-pi.sh
|
|
bash -n scripts/update-pi.sh
|
|
bash -n scripts/install-linux.sh
|
|
bash -n scripts/update-linux.sh
|
|
bash -n scripts/uninstall-linux.sh
|
|
bash -n scripts/lib/install-common.sh
|
|
- name: ShellCheck
|
|
run: |
|
|
shellcheck scripts/install-pi.sh
|
|
shellcheck scripts/update-pi.sh
|
|
shellcheck scripts/install-linux.sh
|
|
shellcheck scripts/update-linux.sh
|
|
shellcheck scripts/uninstall-linux.sh
|
|
shellcheck scripts/lib/install-common.sh
|
|
|
|
frontend:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: pnpm/action-setup@v4
|
|
with:
|
|
version: 10.28.2
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: "20.19.2"
|
|
cache: "pnpm"
|
|
- name: Install frontend dependencies
|
|
run: pnpm install --frozen-lockfile
|
|
- name: Frontend lint
|
|
run: pnpm lint
|
|
- name: Frontend typecheck
|
|
run: pnpm typecheck
|
|
- name: Frontend tests
|
|
run: pnpm test
|
|
- name: Frontend build
|
|
run: pnpm build
|
|
|
|
arm64-smoke:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: docker/setup-qemu-action@v3
|
|
- name: ARM64 compile check
|
|
run: docker run --rm --platform linux/arm64/v8 -v "$PWD":/workspace -w /workspace python:3.11-slim python -m compileall backend
|