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
Issue: Implement Makefile for Development Automation
Problem Description
Following the standard patterns found in core Kubeflow repositories like
pipelinesandtrainer, thedocs-agentrepository currently lacks a centralized automation tool for common development tasks.Developers have to manually run various commands for:
This lack of automation increases the barrier for new contributors and leads to inconsistent development workflows.
Proposed Solution
Implement a root-level
Makefilethat provides a standardized interface for common tasks.Target Commands to Implement:
make build: Builds both theserverandserver-httpsDocker images.make compile: Compiles thepipelines/kubeflow-pipeline.pyinto a.yamlfile.make test: Runs all tests (usingpytestonce standardized).make lint: Runs code quality checks (flake8, black, etc.).make clean: Removes temporary build artifacts and__pycache__files.Checklist
Makefilein the repository root.buildtarget for Docker images.compiletarget for KFP components.testandlintplaceholders or targets.makein theREADME.mddevelopment section.