Skip to content

Open cask bumps as bot pull requests - #17

Merged
MarvinSchenkel merged 3 commits into
mainfrom
bot-cask-prs
Sep 4, 2026
Merged

Open cask bumps as bot pull requests#17
MarvinSchenkel merged 3 commits into
mainfrom
bot-cask-prs

Conversation

@MarvinSchenkel

@MarvinSchenkel MarvinSchenkel commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Cask bumps currently push straight to main using GITHUB_TOKEN. Pushes made with that token do not trigger further workflows, so brew test-bot never runs on them and the cask lands without brew audit or a test install. The 0.6.7 bump earlier today went in with no CI at all.

The dispatch that should fire this workflow also never worked: desktop-app guards it behind if [ -n "$HOMEBREW_TAP_TOKEN" ], the secret is unset, so every release since 0.5.5 logged "skipping" under a green check. That side is fixed in music-assistant/desktop-app#179.

Turning on the PR gate immediately found three failures that were already sitting on main unnoticed, so this fixes those too.

  • Mint a musicassistant-bot token instead of using GITHUB_TOKEN, so the PR triggers brew test-bot
  • Open a signed PR via peter-evans/create-pull-request and enable auto-merge, replacing the direct push
  • Pass the dispatch payload through env: and validate it, instead of interpolating attacker-controllable input into the shell
  • Add set -euo pipefail to the version step and clean up the downloaded tarballs
  • Restore depends_on :macos, which the generator template never had. Without it brew style fails Homebrew/OSDependsOn and brew readall --os=all rejects the cask on Linux
  • Drop the verified parameter from the url stanza; Homebrew deprecated it and brew audit now fails on it
  • Add .github/actionlint.yaml so brew style accepts vars.MUSIC_ASSISTANT_BOT_CLIENT_ID. A tap config overrides Homebrew's own, which only declares BREW_COMMIT_CLIENT_ID
  • Delete publish.yml; brew pr-pull has nothing to pull on a cask-only tap and every run of it was skipped

brew style, brew readall --aliases --os=all --arch=all and brew audit --except=installed all pass locally on this branch.

Needs MUSIC_ASSISTANT_BOT_PRIVATE_KEY granted to this repo before the workflow can run.

🤖 Generated with Claude Code

Marvin Schenkel and others added 2 commits September 4, 2026 11:49
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@MarvinSchenkel
MarvinSchenkel merged commit 4b013ed into main Sep 4, 2026
1 check passed
MarvinSchenkel added a commit to music-assistant/desktop-app that referenced this pull request Sep 4, 2026
The `update-homebrew` job is wrapped in `if [ -n "$HOMEBREW_TAP_TOKEN"
]`. That secret has never been set, so every release since 0.5.5 printed
"HOMEBREW_TAP_TOKEN not set, skipping Homebrew tap update" and reported
success. The tap sat six versions behind without anything going red.

Rather than adding a PAT that expires and puts us back here, this uses
`musicassistant-bot`, the same app that opens the frontend to server
release PRs.

- Mint a bot token scoped to `homebrew-tap` with `contents: write` and
nothing else
- Drop the guard, so a missing credential fails the job instead of
skipping silently
- Replace the bare `curl` with `gh api`, which exits non-zero when the
dispatch is rejected

Pairs with music-assistant/homebrew-tap#17. Needs
`MUSIC_ASSISTANT_BOT_PRIVATE_KEY` granted to this repo before it can
run.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Marvin Schenkel <marvin.schenkel@openhomefoundation.org>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
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.

1 participant