Skip to content

chore: release v5.64.0 #6

chore: release v5.64.0

chore: release v5.64.0 #6

Workflow file for this run

name: Release Desktop
# Runs on the same version tags as the web release workflow. The existing
# release.yml creates the GitHub Release + changelog; this workflow builds the
# desktop apps for all three OSes and uploads them to that release, then bumps
# the Homebrew Cask. Unsigned by design (CSC_IDENTITY_AUTO_DISCOVERY=false).
on:
push:
tags: ['v*.*.*']
workflow_dispatch:
permissions:
contents: write
jobs:
build:
strategy:
fail-fast: false
matrix:
include:
- os: macos-latest
args: "--mac --arm64 --x64"
- os: windows-latest
args: "--win"
- os: ubuntu-latest
args: "--linux"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'
- run: npm ci
- name: Build & publish desktop app
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CSC_IDENTITY_AUTO_DISCOVERY: 'false'
run: npx electron-builder ${{ matrix.args }} --publish always
bump-cask:
needs: build
runs-on: ubuntu-latest
steps:
- name: Update Homebrew tap cask (skips if HOMEBREW_TAP_TOKEN not set)
env:
TAP_TOKEN: ${{ secrets.HOMEBREW_TAP_TOKEN }}
run: |
set -euo pipefail
if [ -z "${TAP_TOKEN:-}" ]; then
echo "HOMEBREW_TAP_TOKEN not set — skipping cask bump. See homebrew-tap/README.md to enable the tap."
exit 0
fi
VERSION="${GITHUB_REF_NAME#v}"
BASE="https://github.com/${GITHUB_REPOSITORY}/releases/download/${GITHUB_REF_NAME}"
curl -fL "$BASE/claude-code-studio-${VERSION}-arm64.dmg" -o arm64.dmg
curl -fL "$BASE/claude-code-studio-${VERSION}-x64.dmg" -o x64.dmg
ARM_SHA="$(shasum -a 256 arm64.dmg | awk '{print $1}')"
X64_SHA="$(shasum -a 256 x64.dmg | awk '{print $1}')"
git clone "https://x-access-token:${TAP_TOKEN}@github.com/${GITHUB_REPOSITORY_OWNER}/homebrew-claude-code-studio.git" tap
CASK="tap/Casks/claude-code-studio.rb"
sed -i -E "s/^ version \".*\"/ version \"${VERSION}\"/" "$CASK"
sed -i -E "s/(arm:[[:space:]]*\")[a-f0-9]{64}/\1${ARM_SHA}/" "$CASK"
sed -i -E "s/(intel:[[:space:]]*\")[a-f0-9]{64}/\1${X64_SHA}/" "$CASK"
cd tap
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add Casks/claude-code-studio.rb
git commit -m "chore: claude-code-studio ${VERSION}" || echo "cask unchanged"
git push