Skip to content

ci: implement automated quality gating#376

Open
brightyorcerf wants to merge 1 commit intoEAPD-DRB:mainfrom
brightyorcerf:feat/ci-infrastructure
Open

ci: implement automated quality gating#376
brightyorcerf wants to merge 1 commit intoEAPD-DRB:mainfrom
brightyorcerf:feat/ci-infrastructure

Conversation

@brightyorcerf
Copy link
Copy Markdown
Contributor

@brightyorcerf brightyorcerf commented Mar 28, 2026

Linked issue

Existing related work reviewed

Issues/PRs reviewed: > checked pr-intake.yml and sync-project-priority-from-labels.yml. Confirmed these are strictly governance and project management workflows:

  • pr-intake.yml only validates PR structure/templates via scripts/check_pr_intake.py.
  • sync-project.yml manages project board priorities via labels.

No workflow currently exists to gate on Python technical quality, PEP 8 compliance, or logic regressions. This PR fills that specific infrastructure gap.

Overlap assessment

Why this PR should proceed

This PR establishes a baseline for code quality that is currently missing. By automating flake8 and pytest, we ensure that future contributions adhere to PEP 8 standards and do not introduce syntax regressions.

Summary

  • What changed: Added .github/workflows/ci_quality.yml
  • Why: To provide immediate feedback on code quality for all incoming PRs. A local audit identified 2,881 baseline style violations that this CI will now track and help remediate.

Tooling versions (flake8, pytest) are pinned to ensure consistent linting results across all contributor environments, preventing 'ghost' failures from upstream tool updates

Validation

  • Tests added/updated: Established the pytest runner contract.
  • Validation steps documented: Verified the workflow triggers flake8 correctly in a local environment.
  • Evidence attached screenshot
Screenshot 2026-03-28 at 4 31 56 PM

Documentation

  • Setup/workflow changes reflected: PR status checks will now show a "Code Quality" pass/fail mark.

Scope check

  • No unrelated refactors
  • Implemented from a feature branch
  • Change is deliverable without upstream OSeMOSYS/MUIO dependency
  • Base repo/branch is EAPD-DRB/MUIOGO:main (not upstream)

Exception rationale

blank

@github-actions github-actions bot added the needs-intake-fix PR intake structure needs maintainer follow-up label Mar 28, 2026
@brightyorcerf
Copy link
Copy Markdown
Contributor Author

brightyorcerf commented Mar 28, 2026

Note: the current 'Red' status on the Code Quality checks is expected.

It is successfully flagging the baseline linting violations. This establishes the necessary 'Health Dashboard' required for the codebase.

@brightyorcerf brightyorcerf reopened this Mar 28, 2026
@brightyorcerf brightyorcerf changed the title Feat/ci infrastructure implement automated quality gating (flake8 + pytest baseline) Mar 28, 2026
@brightyorcerf brightyorcerf changed the title implement automated quality gating (flake8 + pytest baseline) ci: implement automated quality gating Mar 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-intake-fix PR intake structure needs maintainer follow-up

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Task] Implement Foundational CI/CD Infrastructure

1 participant