Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions .github/workflows/cicd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ env:
BUNDLE_ID: com.jsonify.clickit

# macOS deployment target
MACOSX_DEPLOYMENT_TARGET: "15.0"
MACOSX_DEPLOYMENT_TARGET: "14.0"

# Swift configuration
SWIFT_VERSION: "6.1"
Expand Down Expand Up @@ -206,7 +206,7 @@ jobs:
fi

CHANGELOG="⚠️ **This is a beta release for testing purposes.**\n\n${CHANGELOG}"
CHANGELOG="${CHANGELOG}\n\n---\n🤖 Generated with [Claude Code](https://claude.ai/code)\n📱 Compatible with macOS 15.0 or later"
CHANGELOG="${CHANGELOG}\n\n---\n🤖 Generated with [Claude Code](https://claude.ai/code)\n📱 Compatible with macOS 14.0 or later"

echo "changelog<<EOF" >> $GITHUB_OUTPUT
echo -e "$CHANGELOG" >> $GITHUB_OUTPUT
Expand Down Expand Up @@ -320,7 +320,7 @@ jobs:
<link>\(release.htmlUrl)</link>
<sparkle:version>\(version)</sparkle:version>
<sparkle:shortVersionString>\(version)</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>15.0</sparkle:minimumSystemVersion>
<sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
<pubDate>\(pubDate)</pubDate>
<enclosure url="\(zipAsset.browserDownloadUrl)"
length="\(zipAsset.size)"
Expand Down Expand Up @@ -452,7 +452,7 @@ jobs:
done
fi

CHANGELOG="${CHANGELOG}\n\n---\n🤖 Generated with [Claude Code](https://claude.ai/code)\n📱 Compatible with macOS 15.0 or later"
CHANGELOG="${CHANGELOG}\n\n---\n🤖 Generated with [Claude Code](https://claude.ai/code)\n📱 Compatible with macOS 14.0 or later"

echo "changelog<<EOF" >> $GITHUB_OUTPUT
echo -e "$CHANGELOG" >> $GITHUB_OUTPUT
Expand Down Expand Up @@ -559,7 +559,7 @@ jobs:
<link>\(release.htmlUrl)</link>
<sparkle:version>\(version)</sparkle:version>
<sparkle:shortVersionString>\(version)</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>15.0</sparkle:minimumSystemVersion>
<sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
<pubDate>\(pubDate)</pubDate>
<enclosure url="\(zipAsset.browserDownloadUrl)"
length="\(zipAsset.size)"
Expand Down Expand Up @@ -723,7 +723,7 @@ jobs:
<link>\(release.htmlUrl)</link>
<sparkle:version>\(version)</sparkle:version>
<sparkle:shortVersionString>\(version)</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>15.0</sparkle:minimumSystemVersion>
<sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
<pubDate>\(pubDate)</pubDate>
<enclosure url="\(zipAsset.browserDownloadUrl)"
length="\(zipAsset.size)"
Expand Down
11 changes: 8 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ env:
jobs:
build-and-release:
name: 🔨 Build Universal App & Create Release
runs-on: macos-latest
runs-on: macos-15

steps:
- name: 📥 Checkout Code
Expand Down Expand Up @@ -52,6 +52,11 @@ jobs:
- name: 🏗️ Build Universal App with Xcode
run: |
echo "🔨 Building ${{ env.APP_NAME }} with Xcode..."
# Set environment variables for CI build (disable code signing, fix deployment target)
export CODE_SIGN_IDENTITY=""
export CODE_SIGNING_REQUIRED=NO
export CODE_SIGNING_ALLOWED=NO
export MACOSX_DEPLOYMENT_TARGET=14.0
./build_app_unified.sh release xcode

echo "📦 Creating release archive..."
Expand Down Expand Up @@ -110,7 +115,7 @@ jobs:
echo "- 🔄 **Auto-Updates**: Built-in Sparkle framework integration" >> release_notes.md
echo "" >> release_notes.md
echo "## 📋 System Requirements" >> release_notes.md
echo "- **macOS**: 15.0 or later" >> release_notes.md
echo "- **macOS**: 14.0 or later" >> release_notes.md
echo "- **Architecture**: Universal Binary (Intel x64 + Apple Silicon)" >> release_notes.md
echo "- **Permissions**: Accessibility and Screen Recording access required" >> release_notes.md
echo "" >> release_notes.md
Expand All @@ -135,7 +140,7 @@ jobs:
echo "🏗️ **Built with**: Xcode on GitHub Actions" >> release_notes.md
echo "📅 **Build Date**: $(date -u '+%Y-%m-%d %H:%M:%S UTC')" >> release_notes.md
echo "🔖 **Version**: ${VERSION}" >> release_notes.md
echo "🎯 **Target**: macOS 15.0+" >> release_notes.md
echo "🎯 **Target**: macOS 14.0+" >> release_notes.md

echo "release_notes_file=release_notes.md" >> $GITHUB_OUTPUT

Expand Down
2 changes: 1 addition & 1 deletion build_app_unified.sh
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ else
<key>CFBundleVersion</key>
<string>$BUILD_NUMBER</string>
<key>LSMinimumSystemVersion</key>
<string>15.0</string>
<string>14.0</string>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

This change introduces two inconsistencies related to the macOS deployment target:

  1. Xcode Build Mismatch: The Xcode build path uses ClickIt/Info.plist (see line 68), which still specifies 15.0 as the LSMinimumSystemVersion. This means the app will have a different deployment target depending on whether it's built with SPM or Xcode. The ClickIt/Info.plist file should also be updated to 14.0 to ensure consistent builds.

  2. Inconsistent CI/CD Behavior: The Xcode build path respects the MACOSX_DEPLOYMENT_TARGET environment variable (lines 80-82), but this SPM build path hardcodes the value. This makes the script's behavior inconsistent across build systems, especially in CI/CD environments.

To make the script more robust, I suggest using the environment variable here as well, with a fallback to the new default. This ensures both build paths can be configured in the same way.

Suggested change
<string>14.0</string>
<string>${MACOSX_DEPLOYMENT_TARGET:-14.0}</string>

<key>LSUIElement</key>
<false/>
<key>NSHighResolutionCapable</key>
Expand Down