Release v1.23.0 (#31)
* Rename cmuxterm to cmux across entire codebase - Rename GitHub repos: manaflow-ai/cmuxterm -> manaflow-ai/cmux, manaflow-ai/homebrew-cmuxterm -> manaflow-ai/homebrew-cmux - Rename bundle IDs: com.cmuxterm.app -> com.cmux.app - Rename CLI: CLI/cmuxterm.swift -> CLI/cmux.swift - Rename homebrew submodule: homebrew-cmuxterm -> homebrew-cmux - Update all socket paths: /tmp/cmuxterm*.sock -> /tmp/cmux*.sock - Update all GitHub URLs, DMG names, Sparkle URLs - Update all source files, scripts, tests, docs, CI workflows * Bump version to 1.23.0
This commit is contained in:
parent
9ba1d02b2b
commit
9817d131f8
70 changed files with 466 additions and 450 deletions
20
.github/workflows/release.yml
vendored
20
.github/workflows/release.yml
vendored
|
|
@ -85,11 +85,11 @@ jobs:
|
|||
|
||||
- name: Inject Sparkle keys into Info.plist
|
||||
run: |
|
||||
APP_PLIST="build/Build/Products/Release/cmuxterm.app/Contents/Info.plist"
|
||||
APP_PLIST="build/Build/Products/Release/cmux.app/Contents/Info.plist"
|
||||
echo "Adding SUPublicEDKey to Info.plist..."
|
||||
/usr/libexec/PlistBuddy -c "Add :SUPublicEDKey string ${SPARKLE_PUBLIC_KEY}" "$APP_PLIST"
|
||||
echo "Adding SUFeedURL to Info.plist..."
|
||||
/usr/libexec/PlistBuddy -c "Add :SUFeedURL string https://github.com/manaflow-ai/cmuxterm/releases/latest/download/appcast.xml" "$APP_PLIST"
|
||||
/usr/libexec/PlistBuddy -c "Add :SUFeedURL string https://github.com/manaflow-ai/cmux/releases/latest/download/appcast.xml" "$APP_PLIST"
|
||||
echo "Verifying:"
|
||||
/usr/libexec/PlistBuddy -c "Print :SUPublicEDKey" "$APP_PLIST"
|
||||
/usr/libexec/PlistBuddy -c "Print :SUFeedURL" "$APP_PLIST"
|
||||
|
|
@ -125,8 +125,8 @@ jobs:
|
|||
echo "Missing APPLE_SIGNING_IDENTITY secret" >&2
|
||||
exit 1
|
||||
fi
|
||||
APP_PATH="build/Build/Products/Release/cmuxterm.app"
|
||||
CLI_PATH="$APP_PATH/Contents/Resources/bin/cmuxterm"
|
||||
APP_PATH="build/Build/Products/Release/cmux.app"
|
||||
CLI_PATH="$APP_PATH/Contents/Resources/bin/cmux"
|
||||
if [ -f "$CLI_PATH" ]; then
|
||||
/usr/bin/codesign --force --options runtime --timestamp --sign "$APPLE_SIGNING_IDENTITY" "$CLI_PATH"
|
||||
fi
|
||||
|
|
@ -144,9 +144,9 @@ jobs:
|
|||
echo "Missing notarization secrets (APPLE_ID, APPLE_APP_SPECIFIC_PASSWORD, APPLE_TEAM_ID)" >&2
|
||||
exit 1
|
||||
fi
|
||||
APP_PATH="build/Build/Products/Release/cmuxterm.app"
|
||||
ZIP_SUBMIT="cmuxterm-notary.zip"
|
||||
DMG_RELEASE="cmuxterm-macos.dmg"
|
||||
APP_PATH="build/Build/Products/Release/cmux.app"
|
||||
ZIP_SUBMIT="cmux-notary.zip"
|
||||
DMG_RELEASE="cmux-macos.dmg"
|
||||
ditto -c -k --sequesterRsrc --keepParent "$APP_PATH" "$ZIP_SUBMIT"
|
||||
APP_SUBMIT_JSON="$(xcrun notarytool submit "$ZIP_SUBMIT" --apple-id "$APPLE_ID" --team-id "$APPLE_TEAM_ID" --password "$APPLE_APP_SPECIFIC_PASSWORD" --wait --output-format json)"
|
||||
APP_SUBMIT_ID="$(python3 -c 'import json,sys; print(json.load(sys.stdin)["id"])' <<<"$APP_SUBMIT_JSON")"
|
||||
|
|
@ -165,7 +165,7 @@ jobs:
|
|||
--identity="$APPLE_SIGNING_IDENTITY" \
|
||||
"$APP_PATH" \
|
||||
./
|
||||
mv ./cmuxterm*.dmg "$DMG_RELEASE"
|
||||
mv ./cmux*.dmg "$DMG_RELEASE"
|
||||
DMG_SUBMIT_JSON="$(xcrun notarytool submit "$DMG_RELEASE" --apple-id "$APPLE_ID" --team-id "$APPLE_TEAM_ID" --password "$APPLE_APP_SPECIFIC_PASSWORD" --wait --output-format json)"
|
||||
DMG_SUBMIT_ID="$(python3 -c 'import json,sys; print(json.load(sys.stdin)["id"])' <<<"$DMG_SUBMIT_JSON")"
|
||||
DMG_STATUS="$(python3 -c 'import json,sys; print(json.load(sys.stdin)["status"])' <<<"$DMG_SUBMIT_JSON")"
|
||||
|
|
@ -185,13 +185,13 @@ jobs:
|
|||
echo "Missing SPARKLE_PRIVATE_KEY secret" >&2
|
||||
exit 1
|
||||
fi
|
||||
./scripts/sparkle_generate_appcast.sh cmuxterm-macos.dmg "$GITHUB_REF_NAME" appcast.xml
|
||||
./scripts/sparkle_generate_appcast.sh cmux-macos.dmg "$GITHUB_REF_NAME" appcast.xml
|
||||
|
||||
- name: Upload release asset
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
files: |
|
||||
cmuxterm-macos.dmg
|
||||
cmux-macos.dmg
|
||||
appcast.xml
|
||||
generate_release_notes: true
|
||||
|
||||
|
|
|
|||
36
.github/workflows/update-homebrew.yml
vendored
36
.github/workflows/update-homebrew.yml
vendored
|
|
@ -31,31 +31,31 @@ jobs:
|
|||
id: sha
|
||||
run: |
|
||||
VERSION="${{ steps.version.outputs.version }}"
|
||||
curl -sL "https://github.com/manaflow-ai/cmuxterm/releases/download/v${VERSION}/cmuxterm-macos.dmg" -o cmuxterm.dmg
|
||||
SHA256=$(shasum -a 256 cmuxterm.dmg | cut -d' ' -f1)
|
||||
curl -sL "https://github.com/manaflow-ai/cmux/releases/download/v${VERSION}/cmux-macos.dmg" -o cmux.dmg
|
||||
SHA256=$(shasum -a 256 cmux.dmg | cut -d' ' -f1)
|
||||
echo "sha256=$SHA256" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Checkout homebrew-cmuxterm
|
||||
- name: Checkout homebrew-cmux
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: manaflow-ai/homebrew-cmuxterm
|
||||
repository: manaflow-ai/homebrew-cmux
|
||||
token: ${{ secrets.HOMEBREW_TAP_TOKEN }}
|
||||
path: homebrew-cmuxterm
|
||||
path: homebrew-cmux
|
||||
|
||||
- name: Update cask formula
|
||||
env:
|
||||
VERSION: ${{ steps.version.outputs.version }}
|
||||
SHA256: ${{ steps.sha.outputs.sha256 }}
|
||||
run: |
|
||||
cat > homebrew-cmuxterm/Casks/cmuxterm.rb << CASKEOF
|
||||
cask "cmuxterm" do
|
||||
cat > homebrew-cmux/Casks/cmux.rb << CASKEOF
|
||||
cask "cmux" do
|
||||
version "${VERSION}"
|
||||
sha256 "${SHA256}"
|
||||
|
||||
url "https://github.com/manaflow-ai/cmuxterm/releases/download/v#{version}/cmuxterm-macos.dmg"
|
||||
name "cmuxterm"
|
||||
url "https://github.com/manaflow-ai/cmux/releases/download/v#{version}/cmux-macos.dmg"
|
||||
name "cmux"
|
||||
desc "Lightweight native macOS terminal with vertical tabs for AI coding agents"
|
||||
homepage "https://github.com/manaflow-ai/cmuxterm"
|
||||
homepage "https://github.com/manaflow-ai/cmux"
|
||||
|
||||
livecheck do
|
||||
url :url
|
||||
|
|
@ -64,29 +64,29 @@ jobs:
|
|||
|
||||
depends_on macos: ">= :ventura"
|
||||
|
||||
app "cmuxterm.app"
|
||||
app "cmux.app"
|
||||
|
||||
zap trash: [
|
||||
"~/Library/Application Support/cmuxterm",
|
||||
"~/Library/Caches/cmuxterm",
|
||||
"~/Library/Preferences/ai.manaflow.cmuxterm.plist",
|
||||
"~/Library/Application Support/cmux",
|
||||
"~/Library/Caches/cmux",
|
||||
"~/Library/Preferences/ai.manaflow.cmux.plist",
|
||||
]
|
||||
end
|
||||
CASKEOF
|
||||
# Remove leading whitespace from heredoc
|
||||
sed -i 's/^ //' homebrew-cmuxterm/Casks/cmuxterm.rb
|
||||
sed -i 's/^ //' homebrew-cmux/Casks/cmux.rb
|
||||
|
||||
- name: Commit and push
|
||||
env:
|
||||
VERSION: ${{ steps.version.outputs.version }}
|
||||
run: |
|
||||
cd homebrew-cmuxterm
|
||||
cd homebrew-cmux
|
||||
git config user.name "github-actions[bot]"
|
||||
git config user.email "github-actions[bot]@users.noreply.github.com"
|
||||
git add Casks/cmuxterm.rb
|
||||
git add Casks/cmux.rb
|
||||
if git diff --staged --quiet; then
|
||||
echo "No changes - cask already up to date"
|
||||
else
|
||||
git commit -m "Update cmuxterm to ${VERSION}"
|
||||
git commit -m "Update cmux to ${VERSION}"
|
||||
git push
|
||||
fi
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue