Skip to content

feat: add Homebrew Cask, winget, and Cloudsmith apt distribution - #9

Merged
h4x0r merged 1 commit into
mainfrom
worktree-release-distribution
Jul 31, 2026
Merged

feat: add Homebrew Cask, winget, and Cloudsmith apt distribution#9
h4x0r merged 1 commit into
mainfrom
worktree-release-distribution

Conversation

@h4x0r

@h4x0r h4x0r commented Jul 31, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Wire three distribution channels into the v[0-9]* tag-triggered release: Homebrew Cask (.dmg/Applications), winget (NSIS .exe), and Cloudsmith apt (.deb)
  • All three are dormant (continue-on-error: true) until their secrets/prerequisites are provisioned — a release never fails on a not-yet-wired channel
  • Add .deb to the Linux electron-builder targets alongside the existing AppImage
  • Split the single build job into build (upload artifacts) + release (download, checksum, attest, publish) for SLSA build-provenance attestation
  • SHA-pin all GitHub Actions (was floating @v4/@v2)

Prerequisites (provision when ready)

Channel Secret External setup
Homebrew Cask TAP_GITHUB_TOKEN h4x0r/homebrew-tap with Casks/prop-browser.rb + update-prop-browser dispatch handler
winget WINGET_TOKEN Manual first submission to microsoft/winget-pkgs (action only bumps existing packages)
Cloudsmith apt CLOUDSMITH_API_KEY Cloudsmith repo h4x0r/prop-browser

macOS .dmg direct install

The .dmg is attached to the GitHub Release for direct download+install (drag to /Applications). When MACOS_* signing secrets are set, electron-builder Developer-ID-signs + notarizes the .dmg so Gatekeeper does not block it.

Test plan

  • Push a v0.x.0 tag and verify the workflow runs green (build + release jobs)
  • Confirm .dmg, .zip, .exe, .AppImage, .deb, and checksums.txt appear on the GitHub Release
  • Verify SLSA attestation: gh attestation verify <file> --repo h4x0r/prop-browser
  • Provision each channel's secret and verify the dormant jobs activate

🤖 Generated with Claude Code

Wire three distribution channels into the v[0-9]* tag-triggered release,
all dormant (continue-on-error) until their secrets/prerequisites exist:

- Homebrew Cask: dispatches to h4x0r/homebrew-tap (GUI → Cask, not Formula)
- winget: vedantmgoyal9/winget-releaser for the NSIS .exe
- Cloudsmith: pushes the .deb for `apt install prop-browser`

Also: split build/release into separate jobs (artifact upload/download),
add .deb to Linux targets (electron-builder), add SLSA build-provenance
attestation, generate checksums, and SHA-pin all Actions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@h4x0r
h4x0r marked this pull request as ready for review July 31, 2026 23:33
@h4x0r
h4x0r merged commit 8165594 into main Jul 31, 2026
1 check failed
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