fix: upgrade CI to Go 1.25 and document self-update feature

- Upgrade go-version from 1.24 to 1.25 in build.yml (required by go-selfupdate v1.6.0)
- Add kctl-tui update command and interactive startup check to README.md
- Document new features in CHANGELOG.md
- Update Go version requirement to 1.25+ in README.md and CONTRIBUTING.md
- Add Phase 5 (Self-update) to PLAN.md roadmap
This commit is contained in:
2026-08-22 09:50:27 +02:00
parent d89efc55d9
commit fed2b44c28
5 changed files with 23 additions and 4 deletions
+2 -2
View File
@@ -19,7 +19,7 @@ jobs:
- uses: actions/setup-go@v7 - uses: actions/setup-go@v7
with: with:
go-version: "1.24" go-version: "1.25"
cache: false cache: false
- name: Tidy dependencies (generates/updates go.sum) - name: Tidy dependencies (generates/updates go.sum)
@@ -44,7 +44,7 @@ jobs:
- uses: actions/setup-go@v7 - uses: actions/setup-go@v7
with: with:
go-version: "1.24" go-version: "1.25"
cache: false cache: false
- name: Tidy dependencies (generates/updates go.sum) - name: Tidy dependencies (generates/updates go.sum)
+6
View File
@@ -6,6 +6,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/).
## [Unreleased] ## [Unreleased]
### Added
- `kctl-tui update` — self-update command that downloads the latest release
from GitHub and replaces the running binary
- Automatic update check on startup — prompts to update interactively when
a newer version is available
## [0.2.0] - 2026-08-09 ## [0.2.0] - 2026-08-09
### Added ### Added
+1 -1
View File
@@ -13,7 +13,7 @@ go mod download
### Prerequisites ### Prerequisites
- Go 1.22+ - Go 1.25+
- kubectl, k9s, tmux (or psmux on Windows) - kubectl, k9s, tmux (or psmux on Windows)
- An active Kubernetes cluster for integration testing - An active Kubernetes cluster for integration testing
+8
View File
@@ -77,6 +77,14 @@ is still open. For the full requirements, see [SPEC.md](SPEC.md).
- [x] `--help` flag with full usage documentation. - [x] `--help` flag with full usage documentation.
- [x] CHANGELOG.md, CONTRIBUTING.md, GitHub Issue/PR templates. - [x] CHANGELOG.md, CONTRIBUTING.md, GitHub Issue/PR templates.
## Phase 5 — Self-update (done)
- [x] `kctl-tui update` — self-update command using `go-selfupdate` library.
Downloads the matching OS/arch asset from GitHub Releases and replaces
the running binary atomically.
- [x] Interactive update check on startup — queries GitHub Releases in the
background, prompts the user to update when a newer version is found.
--- ---
## Bugfix Sprint — between v0.2.0 and v0.3.0 ## Bugfix Sprint — between v0.2.0 and v0.3.0
+6 -1
View File
@@ -107,7 +107,7 @@ go build -o kctl-tui ./cmd/kctl-tui
sudo mv kctl-tui /usr/local/bin/ sudo mv kctl-tui /usr/local/bin/
``` ```
Requires Go 1.22+. Requires Go 1.25+.
### 📦 Prebuilt binaries ### 📦 Prebuilt binaries
@@ -203,11 +203,16 @@ kctl-tui # start the TUI (full navigation mode)
kctl-tui --help # show all commands and flags kctl-tui --help # show all commands and flags
kctl-tui --version # print version kctl-tui --version # print version
kctl-tui --verbose # enable debug logging to stderr kctl-tui --verbose # enable debug logging to stderr
kctl-tui update # update to the latest release
kctl-tui doctor # check if all tools, config and connections are OK kctl-tui doctor # check if all tools, config and connections are OK
kctl-tui config check # validate ~/.kctl-tui/config.yaml kctl-tui config check # validate ~/.kctl-tui/config.yaml
kctl-tui panel --context=... --ns=... --team=... # internal (called by tmux) kctl-tui panel --context=... --ns=... --team=... # internal (called by tmux)
``` ```
When starting `kctl-tui` without a subcommand, a background check queries
GitHub Releases for a newer version. If one is found, you are prompted to
update interactively before the TUI starts.
## 🛠️ Development ## 🛠️ Development
```bash ```bash