name: CI on: push: branches: [main, master] pull_request: branches: [main, master] jobs: lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: "3.13" - name: Install ruff run: pip install ruff - name: Lint run: ruff check src/ tests/ - name: Format check run: ruff format --check src/ tests/ - name: Install uv run: | curl -LsSf https://astral.sh/uv/install.sh | sh echo "$HOME/.cargo/bin" >> $GITHUB_PATH - name: Sync dependencies run: uv sync --all-extras - name: Type check run: uv run mypy --explicit-package-bases src/gazet tests/ test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: "3.13" - name: Install uv run: | curl -LsSf https://astral.sh/uv/install.sh | sh echo "$HOME/.cargo/bin" >> $GITHUB_PATH - name: Sync dependencies run: uv sync --all-extras - name: Run tests run: uv run pytest tests/ -v --tb=short