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 18:36:35 +02:00
committed by GitHub
parent c93176d83a
commit 948a479601
5 changed files with 70 additions and 3 deletions

17
.github/workflows/tests-frontend.yml vendored Normal file
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
.github/workflows/tests.yml vendored Normal file
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 .

View File

@@ -190,13 +190,13 @@ if __name__ == "__main__":
gr.HTML(
"""
<div style="display: flex; justify-content: center; align-items: center;">
<h1>Gemini Conversation</h1>
<h1>Gemini Conversation</h1>
</div>
"""
)
gr.Markdown(
"""# How to run this demo
- Clone the repo - top right of the page click the vertical three dots and select "Clone repository"
- Open the repo in a terminal and install the dependencies
- Get a gemini API key [here](https://ai.google.dev/gemini-api/docs/api-key)

View File

@@ -26,7 +26,7 @@ conversation_state: List[Dict[str, str]] = []
# System prompt for agent
system_prompt = """You are a helpful assistant that can helps with finding places to
workremotely from. You should specifically check against reviews and ratings of the
work remotely from. You should specifically check against reviews and ratings of the
place. You should use this criteria to find the best place to work from:
- Price
- Reviews

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"]