kubeslice / kubeslice/kubeslice-cli

Feature: Optimize Makefile to Build for Current OS/Arch by Default

Open
#84 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
26
Forks
27
PR merge metrics
No merged PRs in 30d

Description

### 🔖 Feature description

Currently, the Makefile builds binaries for all supported OS and architecture combinations (Windows, Linux, macOS — amd64, arm64, etc.) when running make build. This results in unnecessary builds during local development, especially when the developer only needs the binary for their current platform.

### 🎤 Pitch

In my use case, as a developer working on macOS, I don't need `.exe` or Linux binaries when building and testing locally. However, the current setup builds all of them every time, which slows down development and adds clutter in the `bin/` directory.

This feature would significantly improve developer experience by:
- Reducing local build time
- Avoiding unnecessary artifacts
- Making the build process more relevant and efficient during development

At the same time, it still allows full cross-compilation in CI pipelines where it's actually required.

### ✌️ Solution

I want this feature to:
- Default the `Makefile` to build only for the **developer’s current OS and architecture**
- Support optional `GOOS` and `GOARCH` environment variables to allow cross-compilation when needed (e.g., in CI)

### 🔄️ Alternative

_No response_

### 👀 Have you spent some time to check if this issue has been raised before?

- [x] I checked and didn't find similar issue

### 🏢 Have you read the Code of Conduct?

- [x] I have read the [Code of Conduct](https://github.com/kubeslice/kubeslice-cli/blob/main/CODE_OF_CONDUCT.md)

Contributor guide

Open the contributing guide

Research direction

Start with the repository's Makefile and inspect how the current build targets enumerate OS and architecture combinations. Make the default build use the current GOOS and GOARCH while preserving explicit environment-variable overrides for cross-compilation, then verify that local builds produce only the selected artifact and that CI can still request other targets.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
build-system
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.