Skip to content

build(deps-dev): Bump ruff from 0.16.4 to 0.16.5 (#587) #1312

build(deps-dev): Bump ruff from 0.16.4 to 0.16.5 (#587)

build(deps-dev): Bump ruff from 0.16.4 to 0.16.5 (#587) #1312

Workflow file for this run

name: CI
env:
DEFAULT_PYTHON: "3.13"
on:
push:
branches: [main]
pull_request:
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
codespell:
name: codespell
runs-on: ubuntu-latest
steps:
- name: ⤵️ Check out code from GitHub
uses: actions/checkout@v7
- name: 🏗 Install uv
uses: astral-sh/setup-uv@v10.0.1
with:
python-version: ${{ env.DEFAULT_PYTHON }}
enable-cache: true
- name: 🏗 Install Python dependencies
run: uv sync --locked --all-extras --dev
- name: 🚀 Check code for common misspellings
run: uv run pre-commit run codespell --all-files
ruff:
name: Ruff
runs-on: ubuntu-latest
steps:
- name: ⤵️ Check out code from GitHub
uses: actions/checkout@v7
- name: 🏗 Install uv
uses: astral-sh/setup-uv@v10.0.1
with:
python-version: ${{ env.DEFAULT_PYTHON }}
enable-cache: true
- name: 🏗 Install Python dependencies
run: uv sync --locked --all-extras --dev
- name: 🚀 Run ruff linter
run: uv run ruff check --output-format=github .
- name: 🚀 Run ruff formatter
run: uv run ruff format --check .
pre-commit-hooks:
name: pre-commit-hooks
runs-on: ubuntu-latest
steps:
- name: ⤵️ Check out code from GitHub
uses: actions/checkout@v7
- name: 🏗 Install uv
uses: astral-sh/setup-uv@v10.0.1
with:
python-version: ${{ env.DEFAULT_PYTHON }}
enable-cache: true
- name: 🏗 Install Python dependencies
run: uv sync --locked --all-extras --dev
- name: 🚀 Check Python AST
run: uv run pre-commit run check-ast --all-files
- name: 🚀 Check for case conflicts
run: uv run pre-commit run check-case-conflict --all-files
- name: 🚀 Check docstring is first
run: uv run pre-commit run check-docstring-first --all-files
- name: 🚀 Check that executables have shebangs
run: uv run pre-commit run check-executables-have-shebangs --all-files
- name: 🚀 Check JSON files
run: uv run pre-commit run check-json --all-files
- name: 🚀 Check for merge conflicts
run: uv run pre-commit run check-merge-conflict --all-files
- name: 🚀 Check for broken symlinks
run: uv run pre-commit run check-symlinks --all-files
- name: 🚀 Check TOML files
run: uv run pre-commit run check-toml --all-files
- name: 🚀 Check XML files
run: uv run pre-commit run check-xml --all-files
- name: 🚀 Check YAML files
run: uv run pre-commit run check-yaml --all-files
- name: 🚀 Check End of Files
run: uv run pre-commit run end-of-file-fixer --all-files
- name: 🚀 Trim Trailing Whitespace
run: uv run pre-commit run trailing-whitespace --all-files
pytest:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12", "3.13", "3.14"]
fail-fast: false
steps:
- name: Checkout code
uses: actions/checkout@v7
- name: Install uv
uses: astral-sh/setup-uv@v10.0.1
with:
python-version: ${{ matrix.python-version }}
enable-cache: true
- name: Install dependencies
run: uv sync --locked --all-extras --dev
- name: Start Mosquitto
uses: namoshek/mosquitto-github-action@v1
with:
version: '2.0.18'
ports: '8883:8883'
certificates: ${{ github.workspace }}/.github/workflows/mosquitto/tls-certificates
config: ${{ github.workspace }}/.github/workflows/mosquitto/mosquitto.conf
password-file: ${{ github.workspace}}/.github/workflows/mosquitto/mosquitto.passwd
container-name: 'mqtt'
- name: Run Pytest
run: uv run pytest --verbose