diff --git a/.github/workflows/all-quality.yml b/.github/workflows/all-quality.yml new file mode 100644 index 0000000..a2c5702 --- /dev/null +++ b/.github/workflows/all-quality.yml @@ -0,0 +1,66 @@ +name: All Quality + +on: + push: + pull_request: + +jobs: + all-quality: + runs-on: ubuntu-latest + timeout-minutes: 45 + + steps: + - name: Check out repository + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: "22" + cache: npm + cache-dependency-path: frontend/package-lock.json + + - name: Set up uv + uses: astral-sh/setup-uv@v5 + with: + enable-cache: true + + - name: Install backend dependencies + run: uv sync --dev + + - name: Install frontend dependencies + run: npm ci + working-directory: frontend + + - name: Backend lint + run: uv run ruff check app/ tests/ + + - name: Backend format check + run: uv run ruff format --check app/ tests/ + + - name: Frontend lint + run: npm run lint + working-directory: frontend + + - name: Frontend format check + run: npm run format:check + working-directory: frontend + + - name: Backend typecheck + run: uv run pyright app/ + + - name: Backend tests + run: PYTHONPATH=. uv run pytest tests/ -v + + - name: Frontend tests + run: npm run test:run + working-directory: frontend + + - name: Frontend build + run: npm run build + working-directory: frontend diff --git a/frontend/src/components/AppShell.tsx b/frontend/src/components/AppShell.tsx index 72b9cb0..8481f7a 100644 --- a/frontend/src/components/AppShell.tsx +++ b/frontend/src/components/AppShell.tsx @@ -220,18 +220,6 @@ export function AppShell({ {showSettings && (