Skip to content

tooling: Add ruff linting and CI workflow. #7

Description

@nedseb

What

Add a minimal linting setup so that syntax errors and basic style issues are caught automatically on PRs.

Blocked by

Tasks

1. Create pyproject.toml

[project]
name = "micropython-steami-sample"
version = "0.1.0"
description = "MicroPython sample scripts for the STeaMi board."

[tool.ruff]
line-length = 99
target-version = "py310"

[tool.ruff.lint]
select = ["E", "F", "W"]
ignore = ["E501"]

Only basic rules (pycodestyle + pyflakes) — enough to catch real errors without being too strict for example code.

2. Create .github/workflows/lint.yml

name: Lint
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"
      - run: pip install ruff
      - run: ruff check .

3. Fix existing violations

Run ruff check . on the repo and fix any issues (auto-fixable with ruff check --fix, the rest manually).

Why

Currently there is no CI and no linting. Syntax errors or broken imports can be merged without anyone noticing. A 3-line workflow + a 10-line config file prevents that.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions