Skip to content

feat(python): add ruff linter and formatter #74

feat(python): add ruff linter and formatter

feat(python): add ruff linter and formatter #74

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
permissions:
contents: read
jobs:
go:
name: Go SDK
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5.6.0
with:
go-version-file: go/go.mod
- name: golangci-lint
uses: golangci/golangci-lint-action@4afd733a84b1f43292c63897423277bb7f4313a9 # v8.0.0
with:
args: --timeout=5m
working-directory: go
- name: Test core
run: cd go && GOWORK=off go test ./...
- name: Test anthropic provider
run: cd go-providers/anthropic && GOWORK=off go test ./...
- name: Test openai provider
run: cd go-providers/openai && GOWORK=off go test ./...
- name: Test gemini provider
run: cd go-providers/gemini && GOWORK=off go test ./...
- name: Test google-adk framework
run: cd go-frameworks/google-adk && GOWORK=off go test ./...
typescript:
name: TypeScript SDK
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: '24'
- run: pnpm install
- name: Typecheck
run: pnpm --filter @grafana/sigil-sdk-js run typecheck
- name: Test
run: pnpm --filter @grafana/sigil-sdk-js run test:ci
python-lint:
name: Python Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Setup mise
uses: jdx/mise-action@5228313ee0372e111a38da051671ca30fc5a96db # v3
with:
install: true
install_args: ruff
cache: true
- name: ruff check
run: mise run lint:py
python:
name: Python SDK
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
suite:
- { name: core, cmd: "uv run --with '.[dev]' --directory python pytest tests" }
- { name: openai, cmd: "uv run --with './python[dev]' --with './python-providers/openai[dev]' pytest python-providers/openai/tests" }
- { name: anthropic, cmd: "uv run --with './python[dev]' --with './python-providers/anthropic[dev]' pytest python-providers/anthropic/tests" }
- { name: gemini, cmd: "uv run --with './python[dev]' --with './python-providers/gemini[dev]' pytest python-providers/gemini/tests" }
- { name: langchain, cmd: "uv run --with './python[dev]' --with './python-frameworks/langchain[dev]' pytest python-frameworks/langchain/tests" }
- { name: langgraph, cmd: "uv run --with './python[dev]' --with './python-frameworks/langgraph[dev]' pytest python-frameworks/langgraph/tests" }
- { name: openai-agents, cmd: "uv run --with './python[dev]' --with './python-frameworks/openai-agents[dev]' pytest python-frameworks/openai-agents/tests" }
- { name: llamaindex, cmd: "uv run --with './python[dev]' --with './python-frameworks/llamaindex[dev]' pytest python-frameworks/llamaindex/tests" }
- { name: google-adk, cmd: "uv run --with './python[dev]' --with './python-frameworks/google-adk[dev]' pytest python-frameworks/google-adk/tests" }
- { name: litellm, cmd: "uv run --with './python[dev]' --with './python-frameworks/litellm[dev]' pytest python-frameworks/litellm/tests" }
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: '3.11'
- name: Install uv
uses: astral-sh/setup-uv@d0cc045d04ccac9d8b7881df0226f9e82c39688e # v6.8.0
- name: Test ${{ matrix.suite.name }}
run: ${{ matrix.suite.cmd }}
dotnet:
name: .NET SDK
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
with:
dotnet-version: '8.0.x'
- name: Format check
run: dotnet format dotnet/Sigil.DotNet.sln --verify-no-changes
- name: Test
run: dotnet test dotnet/Sigil.DotNet.sln -c Release
java:
name: Java SDK
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4.8.0
with:
distribution: temurin
java-version: '21'
- name: Test
working-directory: java
run: ./gradlew --no-daemon test