Skip to content
This repository was archived by the owner on Jan 28, 2026. It is now read-only.

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

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

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

Conversation

@rianjs
Copy link
Contributor

@rianjs rianjs commented Jan 24, 2026

Summary

Add Linux distribution support for gmail-ro, enabling users to install via:

  • Snap Store (as ocli-gmail, aliased to gmro)
  • 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.yaml: Added nfpms section to generate .deb and .rpm packages
  • snap/snapcraft.yaml: New file for Snap package definition with:
    • personal-files interface for ~/.config/gmail-readonly 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-gmail as snap name with gmro 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 #69

- Add nfpms section to goreleaser for .deb/.rpm package generation
- Add snap/snapcraft.yaml for Snap Store publishing (as ocli-gmail)
- 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 #69
@rianjs rianjs merged commit d7f9f91 into main Jan 24, 2026
2 checks passed
@rianjs rianjs deleted the feat/69-linux-distribution-support branch January 24, 2026 14:07
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

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