Introduce automatic linting with Github workflows (#251)

* Add linters

* use other setup-python version

* Use string instead

* Add more linting

* Fix tests

* minor changes

---------

Co-authored-by: Marcus Valtonen Örnhag <marcus.valtonen.ornhag@ericsson.com>
This commit is contained in:
Marcus Valtonen Örnhag
2025-04-04 12:36:35 -04:00
committed by GitHub
co-authored by Marcus Valtonen Örnhag
parent c93176d83a
commit 948a479601
5 changed files with 70 additions and 3 deletions
+17
View File
@@ -0,0 +1,17 @@
name: tests
on: [push, pull_request]
jobs:
prettier:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18
- name: Run prettier
run: |
cd frontend
npm install
npx prettier --check .
+17
View File
@@ -0,0 +1,17 @@
name: tests
on: [push, pull_request]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Run linters
run: |
pip install ruff
ruff check .
ruff format --check --diff .
+33
View File
@@ -83,5 +83,38 @@ artifacts = ["/backend/fastrtc/templates", "*.pyi"]
packages = ["/backend/fastrtc"]
[tool.ruff]
src = ["demo", "backend/fastrtc"]
target-version = "py310"
extend-exclude = ["demo/phonic_chat", "demo/nextjs_voice_chat"]
[tool.ruff.format]
exclude = ["*.pyi"]
quote-style = "double"
indent-style = "space"
skip-magic-trailing-comma = false
line-ending = "auto"
[tool.ruff.lint]
select = [
"E",
"F",
"W",
"Q",
"I",
]
# These can be turned on when the framework is more mature (Too many errors right now)
exclude = [
"D",
"UP"
]
# Avoid enforcing line-length violations (`E501`)
ignore = ["E501"]
[tool.ruff.lint.pydocstyle]
convention = "google"
[tool.ruff.lint.per-file-ignores]
"__init__.py" = ["E402"]
"demo/talk_to_smolagents/app.py" = ["W291"]