mirror of
https://github.com/tinyhumansai/openhuman.git
synced 2026-07-28 13:32:23 +00:00
Split monolithic inline bash from release.yml and release-packages.yml into standalone scripts under scripts/release/ for easier debugging and manual execution. New scripts: - bump-version.js: version bumping across package.json/tauri/Cargo - stage-sidecar.sh: stage + verify sidecar binary for Tauri bundler - sign-and-notarize-macos.sh: macOS code signing and notarization - repackage-dmg.sh: re-create and notarize DMG post-signing - upload-macos-artifacts.sh: re-upload notarized artifacts to release - package-cli-tarball.sh: package CLI binary into release tarball - build-linux-arm64.sh: build Linux arm64 CLI tarball - update-homebrew.sh: render and commit Homebrew formula to tap - build-apt-packages.sh: build .deb packages and apt repository - publish-npm.sh: stamp version and publish npm package Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
36 lines
1010 B
Bash
Executable File
36 lines
1010 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Re-create and notarize a DMG after the .app has been notarized.
|
|
#
|
|
# Usage:
|
|
# repackage-dmg.sh <app_path> <bundle_dir>
|
|
#
|
|
# Required environment variables:
|
|
# APPLE_ID
|
|
# APPLE_PASSWORD (app-specific password)
|
|
# APPLE_TEAM_ID
|
|
set -euo pipefail
|
|
|
|
APP_PATH="${1:?Usage: repackage-dmg.sh <app_path> <bundle_dir>}"
|
|
BUNDLE_DIR="${2:?}"
|
|
|
|
DMG_PATH="$(find "$BUNDLE_DIR/dmg" -name '*.dmg' -maxdepth 1 2>/dev/null | head -1)"
|
|
if [ -z "$DMG_PATH" ]; then
|
|
echo "[dmg] No DMG found — skipping DMG re-package"
|
|
exit 0
|
|
fi
|
|
|
|
echo "[dmg] Re-creating DMG with notarized .app..."
|
|
DMG_TEMP="$(mktemp /tmp/OpenHuman-XXXXXX.dmg)"
|
|
hdiutil create -volname "OpenHuman" -srcfolder "$APP_PATH" -ov -format UDZO "$DMG_TEMP"
|
|
mv "$DMG_TEMP" "$DMG_PATH"
|
|
|
|
echo "[dmg] Notarizing DMG..."
|
|
xcrun notarytool submit "$DMG_PATH" \
|
|
--apple-id "$APPLE_ID" \
|
|
--password "$APPLE_PASSWORD" \
|
|
--team-id "$APPLE_TEAM_ID" \
|
|
--wait
|
|
|
|
xcrun stapler staple "$DMG_PATH"
|
|
echo "[dmg] DMG notarization complete: $DMG_PATH"
|