1111
1212 strategy :
1313 matrix :
14- python-version : ["3.13"]
14+ python-version : ["3.11", "3.12", "3. 13"]
1515
1616 steps :
1717 - name : Checkout repository
@@ -22,15 +22,51 @@ jobs:
2222 with :
2323 python-version : ${{ matrix.python-version }}
2424
25- - name : Upgrade pip and install build backend
25+ - name : Install uv
2626 run : |
27- python -m pip install --upgrade pip
28- python -m pip install build
27+ curl -LsSf https://astral.sh/uv/ install.sh | sh
28+ echo "$HOME/.local/bin" >> $GITHUB_PATH
2929
30- - name : Install project with dependencies
30+ - name : Install dependencies
3131 run : |
32- pip install .
32+ uv pip install --system -e . --group dev
3333
34- - name : Run unittest
34+ - name : Run pytest with coverage
3535 run : |
36- python -m unittest discover -v -s tests
36+ pytest --cov=src/tiny8 --cov-report=term-missing --cov-report=xml
37+
38+ - name : Upload coverage to Codecov
39+ if : matrix.python-version == '3.13'
40+ uses : codecov/codecov-action@v4
41+ with :
42+ files : ./coverage.xml
43+ fail_ci_if_error : false
44+
45+ lint :
46+ runs-on : ubuntu-latest
47+
48+ steps :
49+ - name : Checkout repository
50+ uses : actions/checkout@v4
51+
52+ - name : Set up Python
53+ uses : actions/setup-python@v5
54+ with :
55+ python-version : " 3.13"
56+
57+ - name : Install uv
58+ run : |
59+ curl -LsSf https://astral.sh/uv/install.sh | sh
60+ echo "$HOME/.local/bin" >> $GITHUB_PATH
61+
62+ - name : Install dependencies
63+ run : |
64+ uv pip install --system -e . --group dev
65+
66+ - name : Run ruff check
67+ run : |
68+ ruff check src/ tests/
69+
70+ - name : Run ruff format check
71+ run : |
72+ ruff format --check src/ tests/
0 commit comments