The script was failing with "VIBETUNNEL_BUILD_CLEAN_ENV: unbound variable"
when running under strict bash error checking (set -u). Fixed by using
parameter expansion with default value ${VAR:-} to handle cases where
the variable is not set.
- Add proper --dry-run support to release.sh that prevents file modifications
- Fix iOS Info.plist to use $(MARKETING_VERSION) and $(CURRENT_PROJECT_VERSION)
- Update CHANGELOG.md lookup to prefer project root location
- Add comprehensive RELEASE_PROCESS.md documentation
- Improve error messages and parameter validation in release script
- Fix confusing warnings about CHANGELOG.md location
These changes make the release process more robust and less error-prone.
- Use Xcode's default derived data path by default
- Only use custom derived data in CI or when explicitly requested
- Prevents Swift packages from being re-resolved after each build
- No more need to close/reopen Xcode after building
Set USE_CUSTOM_DERIVED_DATA=YES to use the old behavior
The redundant SCRIPT_DIR assignment on line 20 used ${BASH_SOURCE[0]:-} which
would expand to an empty string in zsh, causing dirname "" to return the current
directory instead of the script's directory. This led to script failures when
not run from its own directory.
Since SCRIPT_DIR is already correctly set earlier (lines 11-15) with proper
zsh handling, the redundant line has been removed.
Check if .node-builds directory exists before attempting to find Node.js builds
to prevent errors when the directory hasn't been created yet.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-authored-by: Claude <noreply@anthropic.com>
- Always use --account VibeTunnel for Sparkle signing
- Add automatic DMG volume cleanup to prevent resource errors
- Better handling of CHANGELOG.md location (check both mac/ and root)
- Add comprehensive RELEASE-LESSONS.md with all gotchas
- Add signature verification step to release process
- Improve error messages and debugging output
- Pass SPARKLE_ACCOUNT environment variable through scripts
- Change error to warning when hash file is not found
- Force full rebuild instead of failing when hash is missing
- This fixes build failures when the hash calculation phase hasn't run
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Add common Node.js installation paths to PATH including Homebrew, NVM, n, and MacPorts locations. This matches the approach used in build-web-frontend.sh and ensures the script can find Node.js when running in Xcode's restricted environment.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>