Commit Graph

21 Commits (0a02f0fc603f140ee12f3e2ac8d09860649f8475)

Author SHA1 Message Date
mirivlad 0a02f0fc60 ci: add test, release and nightly workflows
The repository had no automation at all: every release was packaged and
published by hand, and nothing ran tests on a pull request.

- ci.yml runs gofmt, go vet and go test on Linux and macOS, and cross-builds
  all five release targets. macOS is a stated release target but was never
  actually exercised, only cross-compiled.
- release.yml publishes on a v* tag. It gates on `make release-check` so a red
  suite cannot ship, and builds through release.sh rather than duplicating the
  packaging rules, so CI archives stay byte-identical to local ones. A
  hand-written docs/releases/<tag>.md becomes the release body when present,
  otherwise notes are generated from history.
- nightly.yml rebuilds the tip of main on every push and replaces a rolling
  `nightly` prerelease. Prerelease is deliberate: it keeps GitHub's `Latest`
  badge on the newest real release rather than on an untested build.

The rolling tag is why version discovery was pinned to v* in the previous
commit; nightly.yml depends on that filter already being in place.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 18:59:40 +08:00
mirivlad 19ffc4ba5e build: pin version discovery to v* tags
Nightly builds will move a rolling `nightly` tag across main. A plain
`git describe --tags` returns whichever tag is nearest, so once that tag exists
every build — including a real release build — would report its version as
"nightly" and lose the release lineage entirely.

Restrict discovery to `v*` so the rolling tag is invisible to versioning:

  with a nightly tag ahead of v0.3.1
    git describe --tags                → nightly
    git describe --tags --match 'v*'   → v0.3.1-1-gf940087

Land this before the nightly workflow exists, so no build is ever stamped from
the rolling tag.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 18:56:45 +08:00
mirivlad 44156a11af docs: refresh unified tui screenshots
Complete the final task of the unified TUI shell plan, which had been left
undone: the code dropped F1 in favour of Ctrl+H, but README and the guide
still documented F1 as the full-help key in nine places, and the repository
screenshots still showed the pre-shell UI.

- Replace every F1 reference in README.md and docs/guide.md with Ctrl+H,
  including the two ASCII help blocks that mirror runtime output.
- Document the BS/DEL terminal constraint: Ctrl+H is BS (0x08) while xterm
  sends DEL (0x7F) for Backspace, so help and text editing do not collide.
- Recapture all five screenshots from the current binary in a real xterm at
  120x40, 80x24 and 60x16 using an isolated XDG profile.

Runtime verification in xterm confirms Ctrl+H opens full help while seven
Backspace presses correctly trim typed text, and that every captured screen
carries the header, framed content and bottom-anchored footer.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 18:33:14 +08:00
mirivlad 4ba2bfce34 docs: plan unified tui shell 2026-08-14 07:44:35 +08:00
mirivlad 7b5919b6c1 docs: specify unified tui shell 2026-08-14 07:43:27 +08:00
mirivlad be800de90b fix: address tui redesign review findings 2026-08-14 04:04:10 +08:00
mirivlad dac7c7d37a docs: refresh tui guide and screenshots 2026-08-14 03:47:31 +08:00
mirivlad 5391612a14 docs: plan tui ux redesign 2026-08-14 03:10:39 +08:00
mirivlad 10bcc07601 fix: allow digits in port forward fields 2026-08-13 22:26:19 +08:00
mirivlad 604a4ecde2 docs: clarify platform and repository status 2026-06-06 11:14:15 +08:00
mirivlad 8e59c3052e feat: add cross-platform release packaging 2026-06-06 10:49:56 +08:00
mirivlad 48c0057d11 docs: recapture screenshots in xfce terminal 2026-06-06 10:31:52 +08:00
mirivlad 90c9f053d4 docs: align guide and screenshots 2026-06-06 03:35:24 +08:00
mirivlad a750b85412 docs: plan partial feature completion 2026-06-06 03:13:21 +08:00
mirivlad 94e10171d2 sshkeeper: v0.2.0 stabilization — dual help screens, route icons, forward UX, tests, docs
- Split help into two modes: ? (quick hotkeys) and F1 (full documentation)
- Add visual route icons: ● direct, → via, ⇒ chain
- Forward type selector: visible radio items with descriptions
- Forward delete: confirmation dialog
- Forward list: column headers (NAME/TYPE/LISTEN/TARGET/ON)
- Footer hints on all screens show ? and F1
- Comprehensive SSH command builder tests (18 new tests)
- Fix duplicate test functions
- Update README.md: install from source as primary, fix tables, repo links
- Update docs/guide.md: split help section, fix tables, fix typos
- All tests pass, build succeeds
2026-06-05 18:19:38 +08:00
mirivlad 216af78d4d sshkeeper: add comprehensive user guide (docs/guide.md) 2026-06-05 15:42:27 +08:00
mirivlad 77a84a487f sshkeeper: v0.2.0 stabilization (route display, forward validation, tunnel UX, README) 2026-06-03 11:23:02 +08:00
mirivlad d66e103c73 Prepare public release docs 2026-05-29 10:52:03 +08:00
mirivlad c2b0e57f3a Add TUI tag and template management 2026-05-28 17:36:50 +08:00
mirivlad 0be1e93bb7 fix: keep server list usable with many servers 2026-05-28 10:03:26 +08:00
mirivlad e1d709396b feat: improve tui and vault handling 2026-05-28 02:25:18 +08:00