feat: surface unclassified income categories in settings (#224) #640
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| # Frontend: lint -> build (tsc -b) -> test, via the shared reusable workflow. | |
| frontend: | |
| uses: Sagargupta16/shared-workflows/.github/workflows/node-ci.yml@main | |
| with: | |
| working-directory: frontend | |
| # Backend: real gating (ruff + mypy + pytest). The shared python-ci workflow | |
| # swallows failures with `|| true`, so we run an inline job that actually | |
| # fails the build on lint/type/test errors. | |
| backend: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| defaults: | |
| run: | |
| working-directory: backend | |
| env: | |
| PYTHONPATH: src | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0 | |
| with: | |
| python-version: "3.13" | |
| enable-cache: true | |
| - name: Install dependencies | |
| # --group dev pulls ruff/mypy/pytest (declared in [dependency-groups], | |
| # PEP 735) -- they are not extras, so --all-extras alone misses them. | |
| run: uv sync --locked --no-build --no-install-project --all-extras --group dev | |
| - name: Ruff lint | |
| run: uv run --no-sync --locked --no-build ruff check src/ tests/ | |
| - name: Ruff format check | |
| run: uv run --no-sync --locked --no-build ruff format --check src/ tests/ | |
| - name: Mypy | |
| run: uv run --no-sync --locked --no-build mypy src/ | |
| - name: Pytest | |
| run: uv run --no-sync --locked --no-build pytest tests/ -q | |
| security: | |
| uses: Sagargupta16/shared-workflows/.github/workflows/security-scan.yml@main | |
| permissions: | |
| contents: read | |
| security-events: write |