use uv in github actions

This commit is contained in:
pedrocarlo
2025-06-19 16:37:49 -03:00
parent b21b6db448
commit 46135e43ce
3 changed files with 57 additions and 36 deletions

View File

@@ -55,58 +55,37 @@ jobs:
with: with:
python-version: ${{ matrix.python-version }} python-version: ${{ matrix.python-version }}
- name: Install dependencies - name: Install uv
run: pip install -r requirements.txt -r requirements-dev.txt uses: useblacksmith/setup-uv@v4
with:
enable-cache: true
- name: Install Limbo - name: Install the project
run: pip install -e . run: uv sync --all-extras --dev
- name: Run Pytest - name: Run Pytest
run: pytest tests run: uvx pytest tests
lint: lint:
runs-on: blacksmith-4vcpu-ubuntu-2404 runs-on: blacksmith-4vcpu-ubuntu-2404
defaults:
run:
working-directory: ${{ env.working-directory }}
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Set up Python - name: Set up Python
uses: useblacksmith/setup-python@v6 uses: useblacksmith/setup-python@v6
- name: Install uv
uses: useblacksmith/setup-uv@v4
with: with:
python-version: "3.12" enable-cache: true
- name: Install dev dependencies - name: Install the project
run: pip install -r requirements-dev.txt run: uv sync --all-extras --dev --all-packages
- name: Run lint - name: Ruff lint
run: make lint run: uvx ruff check
check-requirements:
runs-on: blacksmith-4vcpu-ubuntu-2404
defaults:
run:
working-directory: ${{ env.working-directory }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: useblacksmith/setup-python@v6
with:
python-version: "3.12"
- name: Install pip-tools
run: pip install pip-tools
# - name: Check requirements files
# run: make check-requirements
linux: linux:
runs-on: blacksmith-4vcpu-ubuntu-2404 runs-on: blacksmith-4vcpu-ubuntu-2404

View File

@@ -82,3 +82,17 @@ exclude_lines = [
'if TYPE_CHECKING:', 'if TYPE_CHECKING:',
'@overload', '@overload',
] ]
[dependency-groups]
dev = [
"coverage>=7.6.1",
"iniconfig>=2.1.0",
"maturin>=1.7.8",
"mypy>=1.11.0",
"mypy-extensions>=1.1.0",
"pluggy>=1.6.0",
"pytest>=8.3.1",
"pytest-cov>=5.0.0",
"ruff>=0.5.4",
"typing-extensions>=4.13.0",
]

28
uv.lock generated
View File

@@ -430,6 +430,20 @@ dev = [
{ name = "ruff" }, { name = "ruff" },
] ]
[package.dev-dependencies]
dev = [
{ name = "coverage" },
{ name = "iniconfig" },
{ name = "maturin" },
{ name = "mypy" },
{ name = "mypy-extensions" },
{ name = "pluggy" },
{ name = "pytest" },
{ name = "pytest-cov" },
{ name = "ruff" },
{ name = "typing-extensions" },
]
[package.metadata] [package.metadata]
requires-dist = [ requires-dist = [
{ name = "coverage", marker = "extra == 'dev'", specifier = "==7.6.1" }, { name = "coverage", marker = "extra == 'dev'", specifier = "==7.6.1" },
@@ -442,6 +456,20 @@ requires-dist = [
] ]
provides-extras = ["dev"] provides-extras = ["dev"]
[package.metadata.requires-dev]
dev = [
{ name = "coverage", specifier = ">=7.6.1" },
{ name = "iniconfig", specifier = ">=2.1.0" },
{ name = "maturin", specifier = ">=1.7.8" },
{ name = "mypy", specifier = ">=1.11.0" },
{ name = "mypy-extensions", specifier = ">=1.1.0" },
{ name = "pluggy", specifier = ">=1.6.0" },
{ name = "pytest", specifier = ">=8.3.1" },
{ name = "pytest-cov", specifier = ">=5.0.0" },
{ name = "ruff", specifier = ">=0.5.4" },
{ name = "typing-extensions", specifier = ">=4.13.0" },
]
[[package]] [[package]]
name = "pynacl" name = "pynacl"
version = "1.5.0" version = "1.5.0"