Files
Anthias/.github/workflows/python-lint.yaml
dependabot[bot] 68f1bc0981 chore(deps): bump the github-actions group with 3 updates (#2994)
Bumps the github-actions group with 3 updates: [actions/checkout](https://github.com/actions/checkout), [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) and [github/codeql-action](https://github.com/github/codeql-action).


Updates `actions/checkout` from 6.0.2 to 6.0.3
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](de0fac2e45...df4cb1c069)

Updates `astral-sh/setup-uv` from 8.1.0 to 8.2.0
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](08807647e7...fac544c07d)

Updates `github/codeql-action` from 4.36.0 to 4.36.1
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](7211b7c807...87557b9c84)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: astral-sh/setup-uv
  dependency-version: 8.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: github/codeql-action
  dependency-version: 4.36.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-07 07:22:21 +02:00

75 lines
2.3 KiB
YAML

name: Run Python Linter
on:
push:
branches:
- 'master'
paths:
- pyproject.toml
- uv.lock
- '**/*.py'
- '.github/workflows/python-lint.yaml'
pull_request:
branches:
- master
paths:
- pyproject.toml
- uv.lock
- '**/*.py'
- '.github/workflows/python-lint.yaml'
jobs:
run-python-linter:
runs-on: ubuntu-24.04
strategy:
matrix:
python-version: ["3.13"]
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
with:
version: '0.9.17'
- name: Install dependencies
run: |
uv venv
uv pip install --group dev-host
uv pip install --group website
- name: Run Ruff linting checks
run: |
uv run ruff check .
- name: Run Ruff formatting checks
run: |
uv run ruff format --check .
# The repo-wide pytest addopts in pyproject.toml include
# pytest-playwright flags; the rpi-imager unit tests don't pull
# pytest-playwright, so override addopts here. Same pattern the old
# deploy-website test job used; this is now the rpi-imager
# generator's only PR-time CI gate after that job was removed.
#
# `-p no:django` bypasses the pytest-django plugin. The earlier
# `uv run ruff check` steps implicitly sync the project venv with
# the default group set (the `dev` group ships pytest-django
# 4.12.0 + playwright + etc.), so by the time we get here the
# plugin is sitting in `.venv` as an auto-loading entry-point.
# Without `-p no:django`, it would read `DJANGO_SETTINGS_MODULE`
# from pyproject.toml and try to bootstrap Django — which fails
# on the first transitive import the curated env doesn't have
# (pytz, channels, …). The rpi-imager generator tests don't need
# Django at all, so just disable the plugin.
- name: Run rpi-imager generator tests
run: |
.venv/bin/pytest tools/raspberry_pi_imager/tests/ \
-p no:django \
-v -o "addopts=--strict-markers"