Skip to content

Commit d00107e

Browse files
Merge pull request #371 from joshrotenberg/feat/homebrew-auto-update
feat: add automatic Homebrew formula updates on release
2 parents ef42736 + df168f6 commit d00107e

File tree

5 files changed

+57
-1
lines changed

5 files changed

+57
-1
lines changed

.github/workflows/release.yml

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ on:
4242
pull_request:
4343
push:
4444
tags:
45-
- '**[0-9]+.[0-9]+.[0-9]+*'
45+
- "**[0-9]+.[0-9]+.[0-9]+*"
4646

4747
jobs:
4848
# Run 'dist plan' (or host) to determine what tasks we need to do
@@ -278,6 +278,22 @@ jobs:
278278
279279
gh release create "${{ needs.plan.outputs.tag }}" --target "$RELEASE_COMMIT" $PRERELEASE_FLAG --title "$ANNOUNCEMENT_TITLE" --notes-file "$RUNNER_TEMP/notes.txt" artifacts/*
280280
281+
update_brew_formula:
282+
name: Update Brew Formula
283+
runs-on: ubuntu-latest
284+
needs: [plan, host]
285+
if: ${{ needs.plan.outputs.publishing == 'true' }}
286+
steps:
287+
- uses: mislav/[email protected]
288+
with:
289+
formula-name: redisctl
290+
formula-path: Formula/redisctl.rb
291+
base-branch: main
292+
tag-name: ${{ github.ref_name }}
293+
homebrew-tap: joshrotenberg/homebrew-brew
294+
env:
295+
COMMITTER_TOKEN: ${{ secrets.COMMITTER_TOKEN }}
296+
281297
announce:
282298
needs:
283299
- plan

Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ create-release = true
3939
install-path = "CARGO_HOME"
4040
# Whether to install an updater program
4141
install-updater = false
42+
# Allow custom modifications to generated CI files
43+
allow-dirty = ["ci"]
4244

4345
[workspace.dependencies]
4446
# Core dependencies

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,11 @@ A unified command-line interface for managing Redis Cloud and Redis Enterprise d
1717

1818
## Installation
1919

20+
### Homebrew (macOS/Linux)
21+
```bash
22+
brew install joshrotenberg/brew/redisctl
23+
```
24+
2025
### From Binary Releases
2126
Download the latest release for your platform from the [releases page](https://github.com/joshrotenberg/redisctl/releases).
2227

docs/src/getting-started/installation.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,28 @@
11
# Installation
22

3+
## Homebrew (macOS/Linux)
4+
5+
The easiest way to install on macOS or Linux:
6+
7+
```bash
8+
# Install directly (automatically taps the repository)
9+
brew install joshrotenberg/brew/redisctl
10+
11+
# Or tap first, then install
12+
brew tap joshrotenberg/brew
13+
brew install redisctl
14+
```
15+
16+
This will:
17+
- Install the latest stable version
18+
- Set up the binary in your PATH
19+
- Enable automatic updates via `brew upgrade`
20+
21+
To upgrade to the latest version:
22+
```bash
23+
brew upgrade redisctl
24+
```
25+
326
## Binary Releases
427

528
Download the latest release for your platform from the [GitHub releases page](https://github.com/joshrotenberg/redisctl/releases).

docs/src/introduction.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,16 @@ The CLI provides three layers of interaction:
1717
2. **Human-Friendly Commands** - Typed wrappers around common operations
1818
3. **Workflows** - Multi-step orchestrated operations (coming soon)
1919

20+
## Installation
21+
22+
Get started quickly with Homebrew:
23+
24+
```bash
25+
brew install joshrotenberg/brew/redisctl
26+
```
27+
28+
Or see [Installation](./getting-started/installation.md) for other methods.
29+
2030
## Quick Example
2131

2232
```bash

0 commit comments

Comments
 (0)