kubeslice / kubeslice/kubeslice-cli

Feature: Improving CI/CD for `Kubeslice-cli`repo

Open
#94 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

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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.