Commit graph

6 commits

Author SHA1 Message Date
367804f681 ci: stash rendered formula before checkout in source-repo commit step
`git checkout main` aborted on the v0.2.0 release because the
freshly-rendered Formula/dsmview.rb differed from the committed
version. Save it to /tmp first, then force-checkout main, then
restore. Release tap-push step already succeeded, so brew install
worked — only the back-commit refresh was missed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-13 18:02:07 +02:00
0ce3d2045b ci: replace homebrew-pypi-poet with inline PyPI fetcher
poet (last release 2018) still hits the legacy pypi.io endpoint and
404s on names that don't normalize cleanly through PyPI's redirect.
Replace with a small inline Python script that walks the venv's
installed distributions, queries https://pypi.org/pypi/<name>/json,
picks the sdist file and emits Homebrew resource blocks. Hard-fails
when any package is missing an sdist.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-13 17:02:58 +02:00
724ea188df ci: pin setuptools<70 so homebrew-pypi-poet can import pkg_resources
setuptools 81+ removed pkg_resources from the default install.
homebrew-pypi-poet is unmaintained and still does `import pkg_resources`
at module load, so we pin a setuptools that still ships it.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-13 16:59:18 +02:00
408d434e3b ci: install poet into the same venv as dsmview, add setuptools
The previous workflow installed homebrew-pypi-poet system-wide while
dsmview lived in a venv, so poet's `import pkg_resources` resolved
against a stripped-down Python that no longer ships setuptools by
default (3.12+).

Consolidate into one step: create the venv, install setuptools/wheel
explicitly, then poet and the project, then run poet from the venv.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-13 16:57:06 +02:00
498803b116 ci: push formula to shared homebrew-tools tap
Use brew tap janvete/tools && brew install dsmview.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-13 16:20:11 +02:00
af63fc7b15 feat: initial dsmview - TUI SSH monitor for Synology DSM 7.x
- Python 3.12+ / Textual TUI with btop-style theme and 4 tabs
  (Dashboard, Logs, Services, Disks)
- Paramiko SSH layer with ssh_config support, key fallback,
  keepalive and reconnect; async executor over a thread pool
- Read-only collectors for system, storage, disks, network,
  logs and services; confirm dialog gates service restart/stop/start
- Click CLI: dsmview ssh [-p PORT] [-i KEY] TARGET
- Homebrew formula using virtualenv_install_with_resources
- GitHub Actions release workflow: builds source tarball,
  regenerates Python resource blocks via homebrew-pypi-poet,
  pushes updated formula to janvete/homebrew-dsmview tap

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-13 16:12:58 +02:00