kubeslice / kubeslice/kubeslice-cli
Feature: Improving CI/CD for `Kubeslice-cli`repo
- Dominant language
- Go
- Stars
- 26
- Forks
- 27
- PR merge metrics
- No merged PRs in 30d
Description
### 🔖 Feature description
### Implement three essential GH Actions workflows for kubeslice-cli:
* CLI Testing Workflow: Automatically runs and verifies major CLI commands (e.g., --help, invalid input handling).
* Cross-Platform Build Workflow: Builds CLI binaries for all major platforms and architectures (Linux, macOS, Windows; amd64/arm64), and provides them as downloadable release artifacts.
* Code Quality and Linting Workflow: Integrates tools like golangci-lint to enforce formatting, dependency checks, and security standards.
### 🎤 Pitch
Automating CLI tests, cross-platform builds, and linting will quickly catch bugs, ensure users get working binaries for all systems, and keep code quality high with minimal manual effort.
### ✌️ Solution
* Add `.github/workflows/cli-testing.yml` to verify key CLI commands and argument error handling on every PR/push.
* Add `.github/workflows/cross-platform.yml` to matrix-build binaries for {linux, darwin, windows} × {amd64, arm64} and upload artifacts.
* Add `.github/workflows/lint.yml` to run golangci-lint run --timeout=5m (or similar) on all PRs/pushes.
* Optionally, update contributor docs to mention automatic checks and artifacts in PR/release process.
### 🔄️ Alternative
take a look here
https://kubernetes.slack.com/archives/C03Q64HNEJF/p1754187823984139
### 👀 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 three named workflow files: .github/workflows/cli-testing.yml, .github/workflows/cross-platform.yml, and .github/workflows/lint.yml. Verify the CLI command checks and invalid-input handling, matrix-build Linux, macOS, and Windows binaries for amd64 and arm64 with downloadable artifacts, and run golangci-lint run --timeout=5m; the workflows should run on every PR and push.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, go
- Domain
- build-system, ci-cd, testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 35/100