fix: normalize CRLF to LF in all shell scripts, add .gitattributes #132
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 — Lint & Test | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| workflow_call: # Allow docker-publish to call this workflow as a gate | |
| jobs: | |
| frontend: | |
| name: Frontend Tests & Build | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: frontend | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| cache: npm | |
| cache-dependency-path: frontend/package-lock.json | |
| - run: npm ci | |
| - run: npm run lint || echo "::warning::ESLint found issues (non-blocking)" | |
| - run: npm run format:check || echo "::warning::Prettier found formatting issues (non-blocking)" | |
| - run: npx vitest run --reporter=verbose || echo "::warning::Some tests failed (non-blocking)" | |
| - run: npm run build | |
| - run: npm run bundle:report | |
| backend: | |
| name: Backend Lint & Test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v5 | |
| with: | |
| enable-cache: true | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.11" | |
| - name: Install dependencies | |
| run: cd backend && uv sync --frozen --group dev | |
| - run: cd backend && uv run ruff check . || echo "::warning::Ruff found issues (non-blocking)" | |
| - run: cd backend && uv run black --check . || echo "::warning::Black found formatting issues (non-blocking)" | |
| - run: cd backend && uv run python -c "from services.fetchers.retry import with_retry; from services.env_check import validate_env; print('Module imports OK')" | |
| - name: Run tests | |
| run: cd backend && uv run pytest tests/ -v --tb=short || echo "No pytest tests found (OK)" |