Skip to content

Implement Makefile for Development Automation #14

@haroon0x

Description

@haroon0x

Issue: Implement Makefile for Development Automation

Problem Description

Following the standard patterns found in core Kubeflow repositories like pipelines and trainer, the docs-agent repository currently lacks a centralized automation tool for common development tasks.

Developers have to manually run various commands for:

  • Building Docker images for the server.
  • Compiling Kubeflow Pipelines.
  • Running unit and E2E tests.
  • Linting and formatting code.

This lack of automation increases the barrier for new contributors and leads to inconsistent development workflows.

Proposed Solution

Implement a root-level Makefile that provides a standardized interface for common tasks.

Target Commands to Implement:

  • make build: Builds both the server and server-https Docker images.
  • make compile: Compiles the pipelines/kubeflow-pipeline.py into a .yaml file.
  • make test: Runs all tests (using pytest once standardized).
  • make lint: Runs code quality checks (flake8, black, etc.).
  • make clean: Removes temporary build artifacts and __pycache__ files.

Checklist

  • Create a Makefile in the repository root.
  • Implement build target for Docker images.
  • Implement compile target for KFP components.
  • Implement test and lint placeholders or targets.
  • Document the use of make in the README.md development section.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions