diff --git a/README.md b/README.md index 8411479..4b90fc0 100644 --- a/README.md +++ b/README.md @@ -20,8 +20,7 @@ errand -- make test ## Install -Install Errand on both machines. It supports macOS and Linux. A Windows PC can -be a runner too, reached over Tailscale; see [Windows runner (experimental)](docs/WINDOWS.md). +Install Errand on both machines. It supports macOS and Linux. With [Homebrew](https://brew.sh): @@ -30,12 +29,26 @@ brew install lydakis/errand/errand ``` Or download a binary from [GitHub Releases](https://github.com/lydakis/errand/releases). + To build from source, use the Go version in [go.mod](go.mod): ```sh go build -trimpath -o errand ./cmd/errand ``` +**Windows (experimental, runner only).** A Windows PC can run jobs sent from +a Mac or Linux machine over Tailscale. It can't send jobs yet. With +[Scoop](https://scoop.sh): + +```powershell +scoop bucket add errand https://github.com/lydakis/scoop-errand +scoop install errand +errand setup +``` + +See [Windows runner (experimental)](docs/WINDOWS.md) for what works and what +doesn't yet. + ## Quickstart The machine that runs your commands is the **runner**. For this walkthrough, diff --git a/docs/RELEASING.md b/docs/RELEASING.md index 2f24d41..3ca3d95 100644 --- a/docs/RELEASING.md +++ b/docs/RELEASING.md @@ -3,8 +3,8 @@ The release pipeline builds macOS, Linux and Windows binaries for amd64 and arm64, a source archive, SHA-256 checksums, and a Homebrew formula. It creates a **draft** GitHub release after the same macOS/Linux checks used for pull -requests pass. Publishing a stable release then triggers a validated Homebrew -tap update automatically. +requests pass. Publishing a stable release then triggers validated Homebrew +tap and [Scoop bucket](#scoop-bucket) updates automatically. ## Local rehearsal diff --git a/docs/WINDOWS.md b/docs/WINDOWS.md index 343084d..10f480c 100644 --- a/docs/WINDOWS.md +++ b/docs/WINDOWS.md @@ -4,6 +4,12 @@ A Windows PC can be an Errand runner: send jobs to it from a Mac or Linux machine over Tailscale. Running the Errand client on Windows is not supported yet. +> [!WARNING] +> Windows support is experimental. It is tested in CI on Windows Server 2025 +> (amd64) and by hand on Windows 11 (arm64), but expect rough edges, and +> expect behavior to change between releases. Please report problems in +> [GitHub Issues](https://github.com/lydakis/errand/issues). + ## Requirements - Windows 10 version 1803 or later, or Windows 11, on amd64 or arm64. @@ -94,3 +100,9 @@ again. Programs are found the way Windows finds them, with - Graceful Ctrl-C (a console break before the hard stop). - Recovering jobs that were running when the runner stopped. - Running while nobody is signed in. + +## Known issues + +- If the runner stops in the middle of a job, the client keeps waiting instead + of reporting the failure. Press Ctrl-C, then check the runner with + `errand peers`.