Mirantis / Mirantis/cri-dockerd

Consolidate Makefiles

Open
#254 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

build good first issue help wanted
Dominant language
Go
Stars
1.4k
Forks
356
Avg merge
4d 4h
Merged PRs (30d)
3

Description

Expected Behavior

A Makefile exists in the root of the project that imports Makefile values and targets from other mk files.

We should try to move the project towards being organized using the standard go project layout. This would have us moving our imported mk files to the build/ directory along with the packaging directory.

Suggested project reorganization:

build/
  packaging/*
  common.mk -> Move high level Makefile vars here
  packaging.mk -> Current packaging/Makefile
packaging/
Makefile -> Import the build/*.mk files

Since we are currently placing our build artifacts in the build directory, we should instead output them to the bin directory as is common practice with many projects. We should also eliminate any duplicate build artifacts.

Actual Behavior

We currently have Makefiles in multiple locations throughout the project with duplicated targets and variables. This is not the end of the world but it there are now multiple different ways to build different artifacts for the project.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by inventorying the root Makefile, the Makefiles in other locations, the imported mk files, and packaging/Makefile. Compare their targets, variables, and artifact outputs before planning the move into build/, with artifacts redirected to bin/. Done means one root entry point, no duplicate build artifacts, and the proposed build/packaging organization is in place.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
build-system
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.