Skip to content

feat(core): canonicalize design thresholds and add directory hotspots… #125

feat(core): canonicalize design thresholds and add directory hotspots…

feat(core): canonicalize design thresholds and add directory hotspots… #125

Workflow file for this run

name: tests
on:
push:
branches: [ "**" ]
pull_request:
permissions:
contents: read
concurrency:
group: tests-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: [ "3.10", "3.11", "3.12", "3.13", "3.14" ]
steps:
- name: Checkout
uses: actions/checkout@v6.0.2
- name: Set up Python
uses: actions/setup-python@v6.2.0
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
- name: Set up uv
uses: astral-sh/setup-uv@v5
with:
enable-cache: true
- name: Install dependencies
run: uv sync --all-extras --dev
- name: Run tests
# Smoke CLI tests intentionally disable subprocess coverage collection
# to avoid runner-specific flakiness while keeping parent-process coverage strict.
run: uv run pytest --cov=codeclone --cov-report=term-missing --cov-fail-under=98
- name: Verify baseline exists
if: ${{ matrix.python-version == '3.13' }}
run: test -f codeclone.baseline.json
- name: Check for new clones vs baseline
if: ${{ matrix.python-version == '3.13' }}
run: uv run codeclone . --ci
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6.0.2
- name: Set up Python
uses: actions/setup-python@v6.2.0
with:
python-version: "3.13"
- name: Set up uv
uses: astral-sh/setup-uv@v5
with:
enable-cache: true
- name: Install dependencies
run: uv sync --all-extras --dev
- name: Ruff
run: uv run ruff check .
- name: Mypy
run: uv run mypy .