Skip to content

Commit 4b28ca9

Browse files
authored
Merge branch 'main' into chore/mcp-registry-setup
2 parents 5e53a18 + 1817ab5 commit 4b28ca9

1 file changed

Lines changed: 33 additions & 13 deletions

File tree

.github/workflows/release.yml

Lines changed: 33 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ jobs:
8888
- os: macos-latest
8989
target: aarch64-apple-darwin
9090
artifact: macos-arm
91-
- os: macos-latest
91+
- os: macos-15-intel
9292
target: x86_64-apple-darwin
9393
artifact: macos-intel
9494

@@ -129,7 +129,7 @@ jobs:
129129
# strings as present (Some("")), so we must completely omit the env var.
130130
# Instead we import the cert here and only pass APPLE_SIGNING_IDENTITY.
131131
- name: Import Apple certificate
132-
if: matrix.os == 'macos-latest' || matrix.os == 'macos-15'
132+
if: runner.os == 'macOS'
133133
id: apple-cert
134134
env:
135135
APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }}
@@ -182,6 +182,7 @@ jobs:
182182
# Upload to the existing draft release
183183
releaseId: ${{ needs.release-please.outputs.release_id }}
184184
updaterJsonKeepUniversal: true
185+
args: --target ${{ matrix.target }}
185186

186187
# ─────────────────────────────────────────────────────────────
187188
# Publish Release: Flip draft → published after all artifacts
@@ -264,7 +265,7 @@ jobs:
264265
--repo "${{ github.repository }}"
265266
266267
# ─────────────────────────────────────────────────────────────
267-
# Update Homebrew Tap: Push new version to homebrew-mcpmux
268+
# Update Homebrew Tap: Push new version to homebrew-tap
268269
# ─────────────────────────────────────────────────────────────
269270
update-homebrew:
270271
needs: [release-please, publish-release]
@@ -286,34 +287,53 @@ jobs:
286287
# Download DMGs and compute SHA256
287288
echo "Downloading macOS DMGs..."
288289
curl -fSL "${BASE_URL}/McpMux_${VERSION}_aarch64.dmg" -o arm64.dmg || { echo "ARM64 DMG not found — skipping Homebrew update"; exit 0; }
289-
curl -fSL "${BASE_URL}/McpMux_${VERSION}_x64.dmg" -o x64.dmg || { echo "x64 DMG not found — skipping Homebrew update"; exit 0; }
290-
291290
SHA_ARM64=$(shasum -a 256 arm64.dmg | cut -d' ' -f1)
292-
SHA_X64=$(shasum -a 256 x64.dmg | cut -d' ' -f1)
293291
echo "ARM64 SHA256: $SHA_ARM64"
294-
echo "x64 SHA256: $SHA_X64"
292+
293+
# x64 DMG (built on macos-15-intel runner)
294+
HAS_X64=false
295+
if curl -fSL "${BASE_URL}/McpMux_${VERSION}_x64.dmg" -o x64.dmg 2>/dev/null; then
296+
SHA_X64=$(shasum -a 256 x64.dmg | cut -d' ' -f1)
297+
echo "x64 SHA256: $SHA_X64"
298+
HAS_X64=true
299+
else
300+
echo "x64 DMG not found — generating ARM-only cask"
301+
fi
295302
296303
# Clone the tap repo and update the cask
297-
git clone https://x-access-token:${GH_TOKEN}@github.com/mcpmux/homebrew-mcpmux.git tap
304+
git clone https://x-access-token:${GH_TOKEN}@github.com/mcpmux/homebrew-tap.git tap
298305
299-
# Generate cask file (Ruby heredoc content with shell variable expansion)
306+
# Generate cask file
300307
CASK_FILE="tap/Casks/mcpmux.rb"
301308
{
302309
echo 'cask "mcpmux" do'
303-
echo ' arch arm: "aarch64", intel: "x64"'
310+
if [ "$HAS_X64" = true ]; then
311+
echo ' arch arm: "aarch64", intel: "x64"'
312+
fi
304313
echo ''
305314
echo " version \"${VERSION}\""
306-
echo " sha256 arm: \"${SHA_ARM64}\","
307-
echo " intel: \"${SHA_X64}\""
315+
if [ "$HAS_X64" = true ]; then
316+
echo " sha256 arm: \"${SHA_ARM64}\","
317+
echo " intel: \"${SHA_X64}\""
318+
else
319+
echo " sha256 \"${SHA_ARM64}\""
320+
fi
308321
echo ''
309-
echo ' url "https://github.com/mcpmux/mcp-mux/releases/download/v#{version}/McpMux_#{version}_#{arch}.dmg",'
322+
if [ "$HAS_X64" = true ]; then
323+
echo ' url "https://github.com/mcpmux/mcp-mux/releases/download/v#{version}/McpMux_#{version}_#{arch}.dmg",'
324+
else
325+
echo ' url "https://github.com/mcpmux/mcp-mux/releases/download/v#{version}/McpMux_#{version}_aarch64.dmg",'
326+
fi
310327
echo ' verified: "github.com/mcpmux/mcp-mux/"'
311328
echo ''
312329
echo ' name "McpMux"'
313330
echo ' desc "Unified MCP gateway and manager for AI clients"'
314331
echo ' homepage "https://mcpmux.com"'
315332
echo ''
316333
echo ' depends_on macos: ">= :high_sierra"'
334+
if [ "$HAS_X64" != true ]; then
335+
echo ' depends_on arch: :arm64'
336+
fi
317337
echo ''
318338
echo ' livecheck do'
319339
echo ' url "https://github.com/mcpmux/mcp-mux/releases/latest"'

0 commit comments

Comments
 (0)