Skip to content

Commit cef114c

Browse files
committed
feat(build): add Homebrew beta cask for pre-releases
Add meeting-transcriber@beta cask for RC/prerelease distribution. Users can install with: brew install --cask meeting-transcriber@beta - Add Casks/meeting-transcriber@beta.rb with conflicts_with stable cask - Add reverse conflicts_with in stable cask - RC tags update beta cask, stable tags update stable cask - Seed beta cask in tap repo on first prerelease if missing - RC changelog scoped to previous RC (not last stable release) - Add fetch-tags to checkout for git tag listing - Mark tap releases as prerelease for RC tags
1 parent 3d9ffd9 commit cef114c

File tree

3 files changed

+46
-7
lines changed

3 files changed

+46
-7
lines changed

.github/workflows/release.yml

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -166,31 +166,48 @@ jobs:
166166
run: |
167167
VERSION="${{ steps.version.outputs.version }}"
168168
SHA="${{ steps.sha.outputs.sha256 }}"
169+
PRERELEASE="${{ steps.version.outputs.prerelease }}"
169170
170171
DMG=".build/release/MeetingTranscriber-${VERSION}.dmg"
171172
172173
# Upload DMG to public tap repo (main repo is private)
174+
PRERELEASE_FLAG=""
175+
[ "$PRERELEASE" = "true" ] && PRERELEASE_FLAG="--prerelease"
176+
173177
gh release create "v${VERSION}" "$DMG" \
174178
--repo pasrom/homebrew-meeting-transcriber \
175179
--title "v${VERSION}" \
176180
--notes "DMG for Homebrew Cask distribution" \
181+
$PRERELEASE_FLAG \
177182
|| gh release upload "v${VERSION}" "$DMG" \
178183
--repo pasrom/homebrew-meeting-transcriber --clobber
179184
180-
# Clone the tap repo and update Cask formula
185+
# Clone the tap repo and update the appropriate Cask formula
181186
git clone https://x-access-token:${GH_TOKEN}@github.com/pasrom/homebrew-meeting-transcriber.git /tmp/tap
182187
cd /tmp/tap
183188
184-
sed -i '' "s/version \".*\"/version \"${VERSION}\"/" Casks/meeting-transcriber.rb
185-
sed -i '' "s/sha256 \".*\"/sha256 \"${SHA}\"/" Casks/meeting-transcriber.rb
189+
if [ "$PRERELEASE" = "true" ]; then
190+
CASK="Casks/meeting-transcriber@beta.rb"
191+
else
192+
CASK="Casks/meeting-transcriber.rb"
193+
fi
194+
195+
# Seed beta cask from source repo if it doesn't exist in tap yet
196+
if [ ! -f "$CASK" ]; then
197+
mkdir -p "$(dirname "$CASK")"
198+
cp "${GITHUB_WORKSPACE}/$CASK" "$CASK"
199+
fi
200+
201+
sed -i '' "s/version \".*\"/version \"${VERSION}\"/" "$CASK"
202+
sed -i '' "s/sha256 \".*\"/sha256 \"${SHA}\"/" "$CASK"
186203
187-
echo "Updated Cask formula:"
188-
cat Casks/meeting-transcriber.rb
204+
echo "Updated Cask formula ($CASK):"
205+
cat "$CASK"
189206
190207
git config user.name "github-actions[bot]"
191208
git config user.email "github-actions[bot]@users.noreply.github.com"
192-
git add Casks/meeting-transcriber.rb
193-
git commit -m "Update meeting-transcriber to v${VERSION}"
209+
git add "$CASK"
210+
git commit -m "Update $(basename "$CASK" .rb) to v${VERSION}"
194211
git push
195212
196213
- name: Cleanup keychain

Casks/meeting-transcriber.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99

1010
depends_on macos: ">= :sonoma"
1111

12+
conflicts_with cask: "meeting-transcriber@beta"
13+
1214
app "MeetingTranscriber.app"
1315

1416
zap trash: [

Casks/meeting-transcriber@beta.rb

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
cask "meeting-transcriber@beta" do
2+
version "1.0.0-rc.1"
3+
sha256 "PLACEHOLDER"
4+
5+
url "https://github.com/pasrom/meeting-transcriber/releases/download/v#{version}/MeetingTranscriber-#{version}.dmg"
6+
name "Meeting Transcriber (Beta)"
7+
desc "Auto-transcribe and summarize meetings (pre-release)"
8+
homepage "https://github.com/pasrom/meeting-transcriber"
9+
10+
depends_on macos: ">= :sonoma"
11+
12+
conflicts_with cask: "meeting-transcriber"
13+
14+
app "MeetingTranscriber.app"
15+
16+
zap trash: [
17+
"~/Library/Application Support/MeetingTranscriber",
18+
"~/.meeting-transcriber",
19+
]
20+
end

0 commit comments

Comments
 (0)