Skip to content

Conversation

araujof
Copy link
Member

@araujof araujof commented Oct 14, 2025

Description

Adds lint and static analysis workflow for the plugins directory to maintain code quality and catch issues early in CI.

Changes

  • New GitHub Actions Workflow: .github/workflows/lint-plugins.yml
    • Runs on push to main and PRs targeting main
    • Uses matrix strategy for parallel execution with fail-fast disabled (visibility into all failures)
  • Linters & Tools Included:
    • Syntax & Format: yamllint
    • Python Code Quality: flake8, ruff, unimport, vulture
    • Standards: pylint (errors-only), interrogate (100% docstring coverage requirement)
    • Complexity Analysis: radon (cyclomatic complexity min C, maintainability index min B)
  • Architecture (symmetrical to other linter workflows):
    • Each linter runs in isolated job for clear failure attribution
    • Installs project in editable mode with dev dependencies
    • Mirrors local CLI commands (no make wrapper)
    • Fast-failure isolation ensures one linter failure doesn't hide others

Impact

Establishes automated code quality gates for the plugin system, ensuring consistent standards and preventing technical debt in the plugins directory.

@araujof araujof added this to the Release 0.9.0 milestone Oct 14, 2025
@araujof araujof self-assigned this Oct 14, 2025
@araujof araujof added chore Linting, formatting, dependency hygiene, or project maintenance chores plugins labels Oct 14, 2025
Signed-off-by: Frederico Araujo <[email protected]>
Signed-off-by: Frederico Araujo <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore Linting, formatting, dependency hygiene, or project maintenance chores plugins

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant