Skip to content

feat: add Linux distribution support (Snap, APT, RPM)#67

Merged
rianjs merged 1 commit intomainfrom
feat/66-linux-distribution-support
Jan 24, 2026
Merged

feat: add Linux distribution support (Snap, APT, RPM)#67
rianjs merged 1 commit intomainfrom
feat/66-linux-distribution-support

Conversation

@rianjs
Copy link
Copy Markdown
Collaborator

@rianjs rianjs commented Jan 24, 2026

Summary

Add Linux distribution support for newrelic-cli, enabling users to install via:

  • Snap Store (as ocli-newrelic, aliased to nrq)
  • APT (Debian/Ubuntu) via open-cli-collective linux-packages repo
  • DNF/YUM (Fedora/RHEL/CentOS) via open-cli-collective linux-packages repo
  • Direct download of .deb and .rpm packages from GitHub Releases

Changes

  • .goreleaser.yml: Added nfpms section to generate .deb and .rpm packages
  • snap/snapcraft.yaml: New file for Snap package definition with:
    • personal-files interface for ~/.config/newrelic-cli access
    • Go 1.24 build with version ldflags
  • .github/workflows/release.yml: Added two new jobs:
    • snap: Build and publish to Snap Store (disabled with if: false pending personal-files interface approval)
    • linux-packages: Trigger APT/RPM repo update via repository dispatch
  • README.md: Comprehensive Linux installation instructions

Required Secrets (to be added before release)

Secret Purpose
SNAPCRAFT_STORE_CREDENTIALS Publish to Snap Store
LINUX_PACKAGES_DISPATCH_TOKEN Trigger linux-packages workflow

Notes

  • Snap job is disabled (if: false) pending personal-files interface approval from Canonical
  • Uses ocli-newrelic as snap name with nrq alias

Test Plan

  • goreleaser check passes
  • make build succeeds
  • make test passes
  • make lint passes
  • After merge: Verify .deb/.rpm packages appear in GitHub Release
  • After secrets configured: Verify linux-packages dispatch triggers

Closes #66

- Add nfpms section to goreleaser for .deb/.rpm package generation
- Add snap/snapcraft.yaml for Snap Store publishing (as ocli-newrelic)
- Add snap job to release workflow (disabled pending interface approval)
- Add linux-packages job to trigger APT/RPM repo updates
- Update README with comprehensive Linux installation instructions

Closes #66
@rianjs rianjs merged commit 7808be3 into main Jan 24, 2026
2 checks passed
@rianjs rianjs deleted the feat/66-linux-distribution-support branch January 24, 2026 14:03
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.

Add Linux distribution support (Snap, APT, RPM)

1 participant