Refactor/amica workflow #7
Workflow file for this run
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: Tests | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| env: | |
| UV_SYSTEM_PYTHON: "1" | |
| jobs: | |
| quality: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: ["3.11", "3.12"] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install uv | |
| run: | | |
| curl -LsSf https://astral.sh/uv/install.sh | sh | |
| echo "$HOME/.local/bin" >> "$GITHUB_PATH" | |
| - name: Sync dependencies | |
| run: uv sync --dev | |
| - name: Ruff lint | |
| run: uv run ruff check src/ tests/ | |
| - name: Ruff format (check only) | |
| run: uv run ruff format --check src/ tests/ | |
| - name: Type check | |
| run: uv run mypy src/ | |
| - name: Unit tests | |
| run: uv run pytest -m unit | |
| - name: Integration tests (skipped) | |
| run: | | |
| echo "Integration tests require real API keys; run locally before pushing." | |
| exit 0 # skip integration tests in CI | |
| - name: Coverage report | |
| run: uv run pytest --cov=src/amica --cov-report=xml |