kubeslice / kubeslice/kubeslice-cli
Feature: Optimize Makefile to Build for Current OS/Arch by Default
- 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
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