Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions .chloggen/worktree-migrate-brew.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Use this changelog template to create an entry for release notes.

# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
change_type: enhancement

# The name of the component, or a single word describing the area of concern (e.g. dashboards, config, apply)
component: install

# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
note: Migrate Homebrew distribution from Formula to Cask

# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists.
issues: [82]

# (Optional) One or more lines of additional information to render under the primary note.
# These lines will be padded with 2 spaces and then inserted directly into the document.
# Use pipe (|) for multiline entries.
subtext: |
The `dash0` CLI is now distributed as a Homebrew Cask instead of a Formula.
Existing users are migrated automatically via `tap_migrations.json` when running `brew update`.
Install with `brew install --cask dash0hq/dash0-cli/dash0`.

# If your change doesn't affect end users or the exported elements of any package,
# you should instead start your pull request title with "chore" or use the "Skip Changelog" label.
# Optional: The change log or logs in which this entry should be included.
# e.g. '[user]' or '[user, api]'
# Include 'user' if the change is relevant to end users.
# Default: '[user]'
change_logs: []
12 changes: 12 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,3 +51,15 @@ jobs:
args: release --clean --release-notes release-notes.md
env:
GITHUB_TOKEN: ${{ secrets.REPOSITORY_FULL_ACCESS_GITHUB_TOKEN }}

- name: Remove old Homebrew formula
env:
GH_TOKEN: ${{ secrets.REPOSITORY_FULL_ACCESS_GITHUB_TOKEN }}
run: |
gh api \
--method DELETE \
-H "Accept: application/vnd.github+json" \
repos/${{ github.repository }}/contents/Formula/dash0.rb \
-f message="chore: remove old Homebrew formula in favor of Cask" \
-f sha="$(gh api repos/${{ github.repository }}/contents/Formula/dash0.rb --jq .sha)" \
2>/dev/null || echo "Formula/dash0.rb already removed, skipping."
21 changes: 14 additions & 7 deletions .goreleaser.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -96,19 +96,26 @@ docker_signs:
- "${artifact}"
- "--yes"

brews:
homebrew_casks:
- name: dash0
repository:
owner: dash0hq
name: dash0-cli
commit_author:
name: github-actions[bot]
email: github-actions[bot]@users.noreply.github.com
commit_msg_template: "chore: brew formula update for {{ .ProjectName }} version {{ .Tag }}"
directory: Formula
commit_msg_template: "chore: brew cask update for {{ .ProjectName }} version {{ .Tag }}"
directory: Casks
homepage: https://github.com/dash0hq/dash0-cli
description: CLI to interact with Dash0
extra_install: |
bash_completion.install "completions/dash0.bash" => "dash0"
zsh_completion.install "completions/dash0.zsh" => "_dash0"
fish_completion.install "completions/dash0.fish" => "dash0.fish"
binaries:
- dash0
completions:
bash: completions/dash0.bash
zsh: completions/dash0.zsh
fish: completions/dash0.fish
hooks:
post:
install: |
system_command "/usr/bin/xattr",
args: ["-dr", "com.apple.quarantine", "#{staged_path}/dash0"]
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,13 @@ Interactive prompts can be skipped with `--force`.

```bash
brew tap dash0hq/dash0-cli https://github.com/dash0hq/dash0-cli
brew install dash0hq/dash0-cli/dash0
brew install --cask dash0hq/dash0-cli/dash0
```

> [!NOTE]
> The `dash0` CLI was previously distributed as a Homebrew Formula.
> If you installed it via `brew install dash0hq/dash0-cli/dash0`, run `brew update` to migrate to the Cask automatically.

### GitHub Releases

Download pre-built binaries for your platform from the [releases page](https://github.com/dash0hq/dash0-cli/releases).
Expand Down
3 changes: 3 additions & 0 deletions tap_migrations.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"dash0": "cask/dash0"
}
Loading