Skip to content

Enable linting enforcement in CI/CD pipeline #18

@dandye

Description

@dandye

Summary

Currently, the automated release pipeline includes Ruff linting and formatting checks, but they are non-blocking (see PR #17). This issue tracks enabling enforcement of these code quality checks.

Background

The release automation infrastructure includes comprehensive linting via Ruff, but it's currently set to warn-only mode to avoid blocking the initial pipeline deployment. The linting runs and reports issues but doesn't fail the build.

Tasks

1. Fix Existing Linting Issues

  • Run ruff check . and fix all linting violations
  • Run ruff format . to fix formatting issues
  • Test that all linting passes locally

2. Enable Enforcement in Workflows

  • Remove || echo "⚠️ Linting issues found - not enforced yet" from .github/workflows/quality-gates.yml
  • Remove || echo "⚠️ Formatting issues found - not enforced yet" from .github/workflows/release.yml
  • Update documentation to reflect that linting is now enforced

3. Update Documentation

  • Update CONTRIBUTING.md to indicate linting is enforced
  • Update quality gates documentation
  • Consider adding a linting section to development docs

Files to Modify

  • .github/workflows/quality-gates.yml - Lines ~35 and ~40
  • .github/workflows/release.yml - Lines ~46 and ~51
  • CONTRIBUTING.md - Code standards and quality gates sections
  • docs/development/releases.md - Quality gates documentation

Acceptance Criteria

  • All existing code passes Ruff linting and formatting checks
  • CI/CD pipeline fails on linting violations
  • Documentation accurately reflects enforced linting
  • Pre-commit hooks work correctly (optional but recommended)

Benefits

  • Consistent code style across the project
  • Automated code quality enforcement
  • Reduced review overhead for style issues
  • Better maintainability through consistent formatting

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions