kubeflow / kubeflow/docs-agent

Implement Makefile for Development Automation

Open
#14 5 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
42
Forks
111
Avg merge
6d 23m
Merged PRs (30d)
2

Description

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

Contributor guide

Open the contributing guide

Research direction

Start with the repository's existing commands for building the server and server-https images, compiling pipelines/kubeflow-pipeline.py, and running tests and linting. Create the root-level Makefile with build, compile, test, lint, and clean targets, then document their use in the README.md development section. Done means the listed targets work or provide the requested placeholders and temporary artifacts can be removed.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, python
Domain
build-system, devops, documentation, testing
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.