-
Notifications
You must be signed in to change notification settings - Fork 19
Open
Description
Problem
The repository currently has no automated quality checks or CI/CD workflows (proposal notes: "ci/cd — no github actions. pipelines are triggered manually"). Contributors can push broken code, unformatted files, or invalid pipeline definitions without any automated gate.
Proposed Solution
Add GitHub Actions workflows and local developer tooling:
Workflows:
ci.yaml— Lint (ruff), typecheck (mypy), compile KFP pipelines on every push/PR tomaindocker-build.yaml— Validate Docker builds for both server variants (triggered only onserver/orserver-https/changes)dco.yaml— Enforce DCO sign-off on PRs per Kubeflow community standards
Tooling:
pyproject.toml— Centralized config for ruff, mypy, pytestMakefile— Local dev commands mirroring CI checks (make lint,make format,make typecheck,make compile-pipelines)
Acceptance Criteria
-
ruff check .passes on all existing code -
ruff format --check .passes on all existing code - Both KFP pipelines compile successfully in CI
- Docker images build without errors
- DCO check runs on pull requests
-
Makefileprovides equivalent local commands for all CI checks
Additional Context
- ruff is preferred over pylint/flake8 — single tool, significantly faster, used across Kubeflow ecosystem
- mypy should use
continue-on-errorinitially since the codebase has no existing type annotations - KFP pipeline compilation is a lightweight syntax validation that doesn't require a running cluster
- Star imports in pipeline files (
from kfp.dsl import *) are intentional — KFP requires them for component type annotations
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels