Skip to content

feat: binary releases CI/CD, prebuilt installer, and CLI commands - #2

Merged
Chintanpatel24 merged 1 commit into
mainfrom
feat/binary-release-and-installer
Sep 12, 2026
Merged

Chintanpatel24 merged 1 commit into
mainfrom
feat/binary-release-and-installer

Conversation

@Chintanpatel24

Copy link
Copy Markdown
Member

Description

This PR implements automated prebuilt binary release infrastructure, an updated fast user-level installer, CLI options, and codebase formatting/hygiene, modeled directly on TattvaOrg/Satra.

Changes

  1. GitHub Actions Workflows:

    • .github/workflows/ci.yml: Checks formatting (cargo fmt --check), lints (cargo clippy -- -D warnings), runs test suite, and compiles release binary with rust-cache.
    • .github/workflows/release.yml: Triggered on tag push (v*), builds x86_64-unknown-linux-gnu and cross-compiles aarch64-unknown-linux-gnu with cross, publishing prebuilt assets (glare-x86_64-linux and glare-aarch64-linux) via softprops/action-gh-release@v2.
  2. Prebuilt Binary Installer (install.sh):

    • Installs prebuilt binary to ~/.local/bin without requiring sudo.
    • Detects architecture (x86_64 and aarch64).
    • Validates that downloaded file is a genuine ELF binary.
    • Replaces running binary safely (unlinks prior to install to prevent ETXTBSY).
    • Automatically falls back to cargo install if prebuilt binary is not found.
    • Verifies and guides user if ~/.local/bin is missing from $PATH.
  3. CLI Arguments & Commands (src/main.rs):

    • glare --version / -v: Prints package version.
    • glare --help / -h: Prints usage instructions, flags, and subcommands.
    • glare update: Re-runs the installer script to self-update to latest release.
    • Default: Launches interactive Ratatui TUI.
  4. Codebase Hygiene & Formatting:

    • Fixed dead code warnings and clippy lints so cargo clippy -- -D warnings passes with 0 warnings.
    • Formatted all source code with cargo fmt.
  5. Documentation:

    • Updated README.md with one-liner installer and self-updating documentation.

…LI args

- Add GitHub Actions CI (.github/workflows/ci.yml) and Release workflows (.github/workflows/release.yml) with x86_64 and aarch64 cross-build matrix.
- Overhaul install.sh to fetch prebuilt binaries to ~/.local/bin without sudo, with ELF verification and cargo build fallback.
- Support CLI flags in main.rs (--version, -v, --help, -h) and 'glare update' subcommand.
- Clean up unused warnings and clippy lints, format codebase with cargo fmt.
- Update README.md with one-liner installer and update instructions.
Copilot AI lite review requested due to automatic review settings September 12, 2026 08:22

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@Chintanpatel24
Chintanpatel24 merged commit b25b002 into main Sep 12, 2026
1 check passed
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