Skip to content

Add nfpms, Scoop, and install scripts#2

Merged
jclusso merged 1 commit into
masterfrom
install-methods
May 30, 2026
Merged

Add nfpms, Scoop, and install scripts#2
jclusso merged 1 commit into
masterfrom
install-methods

Conversation

@jclusso
Copy link
Copy Markdown
Member

@jclusso jclusso commented May 26, 2026

Expands the release pipeline beyond Homebrew so users on more platforms can install via their native package manager:

  • nfpms — produces .deb, .rpm, and .apk packages from each release. Man pages are bundled via a ./man/*.1 glob so package contents track new commands automatically (nfpm supports globs; the Homebrew cask still needs an explicit list).
  • Scoop — publishes a manifest to emailable/scoop-bucket on every tag.
  • Install scriptsscripts/install.sh (curl-pipe-bash) and scripts/install.ps1 (PowerShell): detect OS/arch, verify SHA-256, and install the binary + bundled man pages. Reached via emailable.com/install-cli (Netlify proxy redirect lives in the website repo).
  • Version reportinggo install module@vX.Y.Z now reports the real module version via runtime/debug.ReadBuildInfo. The fallback is gated on the build carrying no VCS info, so local checkouts keep reporting dev rather than an untagged pseudo-version (which would otherwise print a 404 release URL).
  • RELEASE_GITHUB_TOKEN — single secret covering both the Homebrew tap and the Scoop bucket; a top-level env default keeps make release-snapshot working when no token is exported.
  • Drops bubbletea to an indirect dependency (go mod tidy); it's no longer imported directly after the move to huh.

Nix flake removed from this PR — it needs a real vendorHash verified on a machine with nix; will follow up separately.

Copilot AI review requested due to automatic review settings May 26, 2026 13:25
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Expands Emailable CLI distribution/install options beyond Homebrew by adding cross-platform installers, additional package-manager release artifacts, and a Nix flake, plus improving emailable --version output for go install builds.

Changes:

  • Add curl/bash and PowerShell install scripts that select OS/arch, download release artifacts, and verify SHA-256 checksums.
  • Extend GoReleaser to publish nfpm packages (.deb, .rpm, .apk) and a Scoop manifest, and rename the tap token secret for reuse.
  • Add a Nix flake for nix profile install, and update version reporting to fall back to module version metadata when ldflags aren’t present.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
scripts/install.sh New Unix installer (download, checksum verify, install binary + man pages).
scripts/install.ps1 New Windows installer (download, checksum verify, install binary, update user PATH).
README.md Documents new install options (scripts + package managers + Nix).
flake.nix Adds a Nix flake using buildGoModule.
cmd/root.go Improves version display by falling back to Go module version info.
.goreleaser.yaml Adds nfpm + Scoop publishing and updates token env var usage.
.github/workflows/release.yml Renames the release token secret to TAP_GITHUB_TOKEN.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread scripts/install.sh Outdated
Comment thread scripts/install.sh
Comment thread scripts/install.ps1 Outdated
Comment thread flake.nix Outdated
Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread scripts/install.sh Outdated
@jclusso jclusso force-pushed the install-methods branch 2 times, most recently from 51087a9 to 6919b4d Compare May 30, 2026 01:23
@jclusso jclusso requested a review from Copilot May 30, 2026 01:23
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated 7 comments.

Comment thread scripts/install.sh Outdated
Comment thread scripts/install.sh
Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread flake.nix Outdated
Comment thread .github/workflows/release.yml
Expands the release pipeline beyond Homebrew so users on more platforms can install via their native package manager:

- `nfpms`: produces `.deb`, `.rpm`, and `.apk` packages from each release. Man pages are added via a `./man/*.1` glob so the package contents track new commands automatically (nfpm supports globs; the Homebrew cask still needs an explicit list).
- `scoops`: publishes a manifest to `emailable/scoop-bucket` on every tag, reusing the same PAT as the existing Homebrew tap.
- `scripts/install.sh` and `scripts/install.ps1`: curl-pipe-bash and PowerShell installers that detect OS/arch, verify SHA-256, and install the binary + bundled man pages. Reached via `emailable.com/install-cli` (Netlify proxy redirect lives in the website repo).
- `cmd/root.go`: `go install module@vX.Y.Z` now reports the actual module version via `runtime/debug.ReadBuildInfo` instead of always saying `"dev"`. The fallback is gated on the build carrying no VCS info, so local checkouts keep reporting `"dev"` rather than an untagged pseudo-version (which would print a 404 release URL).
- Introduces a `RELEASE_GITHUB_TOKEN` secret covering both the Homebrew tap and the Scoop bucket. A top-level `env` default keeps `make release-snapshot` working when no token is exported.
- Drops `bubbletea` to an indirect dependency (`go mod tidy`); it's no longer imported directly after the move to huh.
@jclusso jclusso changed the title Add nfpms, Scoop, install scripts, and Nix flake Add nfpms, Scoop, and install scripts May 30, 2026
@jclusso jclusso force-pushed the install-methods branch from 6919b4d to ea0571f Compare May 30, 2026 01:38
@jclusso jclusso merged commit 5761ed0 into master May 30, 2026
3 checks passed
@jclusso jclusso deleted the install-methods branch May 30, 2026 01:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants