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
    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