Commit Graph

83 Commits

Author SHA1 Message Date
81935c44e6 chore(release): update post-tag messages for automated workflow
All checks were successful
CI / Test (push) Successful in 55s
CI / Build (push) Successful in 42s
Update the echo instructions shown after pushing a tag to reflect that the Gitea Actions 'Release' workflow now handles building, checksumming, and auto-creating the release via the API, rather than requiring manual release creation. Include notes about monitoring the Actions tab and improved error visibility.
2026-06-06 08:28:28 +01:00
33518eb4a4 chore(release): prepare v2.0.1 (CI/test/build/release fixes, changelog, VERSION bump)
All checks were successful
CI / Test (push) Successful in 59s
CI / Build (push) Successful in 42s
Release / Create Release (push) Successful in 2m21s
2026-06-06 08:21:43 +01:00
04a8835d7e fix(ci): add 'go mod tidy' before ./ci-build.sh in the Linux Build step of build.yml (mirrors the test job and release workflow; ensures complete go.sum for 'make build' / go build in the push-triggered Build flow)
All checks were successful
CI / Test (push) Successful in 56s
CI / Build (push) Successful in 40s
2026-06-06 08:17:32 +01:00
66b7f808f7 fix(test): make TestPrecheck_Unit skip gracefully when player (mpv) is not installed (as in minimal CI runners); prevents os.Exit(1) from failing go test -short for the root package
Some checks failed
CI / Test (push) Successful in 55s
CI / Build (push) Failing after 18s
2026-06-06 08:12:56 +01:00
fefc6b8a5f fix(ci): make test targets depend on 'deps' in Makefile; add 'go mod tidy' before 'make test-short' in build.yml test job (consistent with release workflow fix for missing go.sum entries during go test builds)
Some checks failed
CI / Test (push) Failing after 55s
CI / Build (push) Has been skipped
2026-06-06 08:09:52 +01:00
4b91b905c5 chore: remove duplicate SHELL declaration and organize go.mod dependencies
Some checks failed
CI / Test (push) Failing after 36s
CI / Build (push) Has been skipped
- Remove duplicate `SHELL := /bin/bash` line from Makefile
- Move github.com/muesli/termenv from indirect to direct dependencies in go.mod
2026-06-06 08:06:00 +01:00
8d68448adb chore(ci): pin setup-go to exact '1.24.2' to match go.mod minimum (prevents toolchain/local version mismatches like 1.22.5)
Some checks failed
CI / Test (push) Failing after 51s
CI / Build (push) Has been skipped
2026-06-06 08:03:54 +01:00
a9766ef360 fix(ci): modernize on-push build.yml to use actions/setup-go@1.24 + cache + go mod download (fixes Go 1.22.5 vs go.mod 1.24.2 mismatch); keep 'Linux Build' step name for compatibility; update ci-build.sh
Some checks failed
CI / Build (push) Blocked by required conditions
CI / Test (push) Has been cancelled
2026-06-06 08:03:26 +01:00
6a3e1e8b53 fix(release): add robust error handling, --fail, set -euo pipefail, RELEASE_ID validation, and debug output to Create Release step so failures are visible instead of silently passing
Some checks failed
gobuild / build (push) Failing after 6s
2026-06-06 08:00:04 +01:00
f3d338ea4f chore(Makefile): add per-platform 'go mod download' inside cross loop for extra robustness in CI cross-compilation environments
Some checks failed
gobuild / build (push) Failing after 6s
Release / Create Release (push) Successful in 2m32s
2026-06-06 07:51:23 +01:00
0a4c457cb4 fix(ci): run 'go mod tidy' before 'make cross' in release workflow to ensure complete go.sum for the CI Go version (fixes persistent 'missing go.sum entry' errors for direct and transitive deps during cross-compilation)
Some checks failed
gobuild / build (push) Failing after 6s
Release / Create Release (push) Has been cancelled
2026-06-06 07:50:53 +01:00
6537f3ffe1 fix(workflow): add shell: bash to steps using bashisms (parameter expansion, [[ ) and ensure make uses bash via SHELL=; prevents /bin/sh syntax errors in release CI
Some checks failed
gobuild / build (push) Failing after 8s
Release / Create Release (push) Failing after 18s
2026-06-06 07:46:30 +01:00
e49ad4a23d fix(Makefile): set SHELL=/bin/bash so cross target recipes can use bashisms like <<< here-string (fixes /bin/sh syntax error in release CI)
Some checks failed
gobuild / build (push) Failing after 8s
Release / Create Release (push) Failing after 18s
2026-06-06 07:46:05 +01:00
b483eab827 fix(ci): add go mod download + use make cross in release workflow to fix missing go.sum errors during cross-platform builds
Some checks failed
gobuild / build (push) Failing after 6s
Release / Create Release (push) Failing after 20s
2026-06-06 07:34:31 +01:00
1d2dfc1c8d fix(workflows): use dynamic ${REPO} variable in release body URLs
Some checks failed
gobuild / build (push) Failing after 7s
Replace hardcoded gmgauthier/gostations path with ${REPO} variable so release install instructions work correctly regardless of repository owner or name.
2026-06-05 23:43:37 +01:00
cfdce2adc3 docs: populate v2.0.0 changelog section
Some checks failed
gobuild / build (push) Failing after 7s
Release / Create Release (push) Failing after 15s
2026-06-05 23:40:07 +01:00
dd34a5b21c chore(release): prepare v2.0 infrastructure (Makefile, release.sh, Gitea release workflow, installers, modern versioning) 2026-06-05 23:39:40 +01:00
07586a8fc0 fix(commander): capture output via CombinedOutput instead of piping streams
Some checks failed
gobuild / build (push) Failing after 7s
- Remove os import and manual Stdin/Stdout/Stderr assignment from subExecute
- Replace cmd.Run() followed by cmd.CombinedOutput() with single CombinedOutput call
- Adjust volume bar height to exactly match metadata display and increase gap to 2 spaces
2026-06-05 23:34:09 +01:00
c64c80448c chore: remove gostations binary
Some checks failed
gobuild / build (push) Failing after 7s
Deleted the gostations executable as it is no longer required in the repository.
2026-06-05 23:21:59 +01:00
dd5121c2ae feat(ui): add vertical volume bar to playback view
Some checks failed
gobuild / build (push) Failing after 7s
Add Volume() to Player interface and mpvPlayer implementation to
expose current volume level. Poll volume periodically and render a
vertical bar next to the metadata display during playback. Update
UI state and tests to support the new volume indicator.
2026-06-05 23:18:30 +01:00
2b688569c7 feat: add mpv IPC player with playback controls and winamp-style UI
Some checks failed
gobuild / build (push) Failing after 6s
Implement mpv JSON IPC backend for non-blocking playback, streamed
metadata (media-title/icy-title), and runtime controls (pause, mute,
volume, next/prev). Extend Player interface and wire a two-stage TUI
that switches to a dedicated playback view with keyboard shortcuts and
a styled hint bar. Fallback to legacy player when mpv is unavailable.
2026-06-05 23:13:01 +01:00
e0f45bdd5e feat: add favorites management (CLI + TUI) and in-filter server search
Some checks failed
gobuild / build (push) Failing after 5s
- New `gostations fav` subcommand with `list`, `add`, `del` (supports index, URL, or search flags)
- TUI favorites toggle via `f` key; favorites auto-detected on load for "Your Favorites" title
- Pressing ENTER while filtering performs a server-side search and refreshes the list
- Default TUI now loads favorites if present, otherwise falls back to broad station lookup
- Added `sortedForDisplay` for stable fav list ordering and index-based deletion
- Tests for favorites title heuristic, sorted display, and fav del-by-index integration
2026-06-05 22:30:50 +01:00
3924aae93b feat(ui): custom substring/AND filter for station list
Some checks failed
gobuild / build (push) Failing after 3s
Replace default fuzzy filter with substring matching where multi-word
queries require all words to appear. Fix auto-filter typing to properly
batch returned commands instead of discarding them. Update tests to
drive command loops and verify exact substring matches.
2026-06-05 21:46:04 +01:00
444193a5d2 feat(ui): auto-filter on typing + refactor item struct with favorites
Some checks failed
gobuild / build (push) Failing after 3s
- Add auto-start filter when typing alphanumeric characters
- Refactor item struct to use explicit station field and isFavorite flag
- Show ★ prefix for favorites in list rendering
- Improve description formatting with bullet separators
- Include URL in FilterValue for better search
- Update help text and add corresponding test
2026-06-05 21:36:49 +01:00
ec5db53b8e feat(cli): default to bubbles TUI, add find/play subcmds + JSON favorites
Some checks failed
gobuild / build (push) Failing after 4s
- implement internal/ui with bubbles list + ★ fav markers, filter, enter stub
- add data/favorites (JSON roundtrip, Add/Remove, XDG), config tests
- wire subcommands: `find -j`, `play [url|search]`
- gate legacy wmenu behind --legacy; keep old flags for seeding
- fix inverted -short guards, format string, go.mod deps
- add unit tests for radio prune, player IsInstalled, ui keys, etc.
2026-06-05 21:23:11 +01:00
b378fec3b2 refactor: reorganize into internal packages, fix critical panics and error handling
Some checks failed
gobuild / build (push) Failing after 4s
Move browser, config, player, and radio logic into internal/{config,radio,player,ui,version}.
Add cached API host resolution, context-aware HTTP client, and nil/length guards to eliminate
RandomIP, nslookup, reverseLookup, and GetStations panics. Replace subExecute with clean
legacyPlayer using Run-only execution. Fix inverted -short test guards, unformatted config
error messages, and "Erorr" typo. Remove obsolete vendor/GOPATH logic from build scripts.
Update callers in stations.go and radiomenu.go to new paths; retain shims for transition.
2026-06-05 21:10:54 +01:00
5bbeb66afb test: add unit and integration tests for core functionality
All checks were successful
gobuild / build (push) Successful in 21s
Added comprehensive unit and live integration tests in new files:
- commander_test.go: Covers isInstalled and subExecute functions
- filer_test.go: Covers createIniFile with various scenarios
- radiomenu_test.go: Covers Short, Quit, and RadioMenu
- stations_test.go: Covers showVersion and precheck

These tests ensure reliability across happy paths, edge cases, and live environments.
2026-03-03 19:21:24 +00:00
505e25189e fix typos
All checks were successful
gobuild / build (push) Successful in 27s
2024-07-21 18:50:08 +00:00
2b1c44a619 step tweaks
Some checks failed
gobuild / build (push) Failing after 2s
2024-07-21 18:48:07 +00:00
be1a214a13 try to use the golang image for my build
Some checks failed
gobuild / build (push) Failing after 2s
2024-07-21 18:44:55 +00:00
c34bdf66f2 FINE. I'll hard code it.
All checks were successful
gobuild / build (push) Successful in 30s
2024-07-21 17:35:28 +01:00
1f27512017 custom build script for gitea runner
Some checks failed
gobuild / build (push) Failing after 8s
2024-07-21 17:33:05 +01:00
3ae9f2afa2 custom build script for gitea runner
Some checks failed
gobuild / build (push) Failing after 8s
2024-07-21 17:29:16 +01:00
767b1e8a7c add gitea workflow
Some checks failed
gobuild / build (push) Failing after 8s
2024-07-21 17:24:03 +01:00
cda405a9e2 test commit 2024-07-11 19:16:41 +01:00
5fa2bc67fd Merge branch 'master' of gitea.gmgauthier.com:DemoReel/gostations 2024-07-11 15:05:38 +01:00
d92771b7ec test commit 2024-07-11 11:04:50 +01:00
a2c48e95b7 copy build executable to local bin 2024-07-11 09:18:11 +01:00
8c0e3a896d fix config lookups for windows
make config.go sensitive to the windows environment.
2024-07-10 22:42:05 +01:00
Greg Gauthier
ea29c29531 created new build script for powershell 2024-07-09 23:33:44 +01:00
Greg Gauthier
fd70f428ae fixes for windows 2024-07-09 21:29:11 +01:00
c2508127b4 package updates 2023-12-13 12:00:28 +00:00
Greg Gauthier
d0a8fdfb11 add buildpath and platform to the downloader 2021-03-19 09:15:37 +00:00
Greg Gauthier
8a78251c05 add buildpath and platform to the downloader 2021-03-19 09:12:31 +00:00
Greg Gauthier
00c8b76fe0 add buildpath to the downloader 2021-03-19 09:08:01 +00:00
Greg Gauthier
27a7d9f60b add buildpath to the downloader 2021-03-19 09:05:48 +00:00
Greg Gauthier
027d922916 add platform name to version string 2021-03-19 08:47:56 +00:00
Greg Gauthier
758d317d0f add platform spec to build path;echo version to console 2021-03-19 08:45:56 +00:00
Greg Gauthier
44080ebac9 ignore the go.sum. every time a build occurs this changes. No need to capture, if the build is always going to generate this anyway 2021-03-19 08:02:02 +00:00
Greg Gauthier
0fa518cd00 don't assume gopath is set 2021-03-19 07:54:29 +00:00