-
Notifications
You must be signed in to change notification settings - Fork 26
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.ymlto verify key CLI commands and argument error handling on every PR/push. -
Add
.github/workflows/cross-platform.ymlto matrix-build binaries for {linux, darwin, windows} × {amd64, arm64} and upload artifacts. -
Add
.github/workflows/lint.ymlto 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?
- I checked and didn't find similar issue
🏢 Have you read the Code of Conduct?
- I have read the Code of Conduct