11#! /bin/bash
22
3+ # GitHub release metadata
4+ REPO_OWNER=" keefo"
5+ REPO_NAME=" NeewerLite"
6+ TAG_NAME=" v$( date +%Y.%m.%d.%H%M) "
7+ RELEASE_NAME=" Release $TAG_NAME "
8+ RELEASE_BODY=" Auto release uploaded by publish script."
9+
310BUILD_DIR=" ./build/NeewerLite.xcarchive/Products/Applications/"
411DMG_FILENAME=NeewerLite
12+ APP_PATH=" ${BUILD_DIR} /${DMG_FILENAME} .app"
13+ ZIP_PATH=" ${BUILD_DIR} /${DMG_FILENAME} .zip"
514
15+ # 1. Verify environment variables
616if [ -z " $NEEWERLITE_REMOTE_FOLDER " ]
717then
818 echo " \$ NEEWERLITE_REMOTE_FOLDER is empty"
1525 exit 1
1626fi
1727
18- echo ' replace download path'
28+ # 2. Extract version from Info.plist
29+ VERSION=$( /usr/libexec/PlistBuddy -c " Print :CFBundleShortVersionString" " ${APP_PATH} /Contents/Info.plist" )
30+ TAG_NAME=" v$VERSION "
31+ RELEASE_TITLE=" $TAG_NAME "
1932
20- sed -i ' ' -e " s/NeewerLite.zip/download\/NeewerLite.zip/" " ${BUILD_DIR} /appcast.xml"
33+ echo " Publishing release: $RELEASE_TITLE "
34+ echo " Using tag: $TAG_NAME "
2135
22- echo " Upload the appcast"
36+ # 3. Replace download path in appcast
37+ echo ' replace download path'
38+ sed -i ' ' -e " s/NeewerLite.zip/download\/NeewerLite.zip/" " ${BUILD_DIR} /appcast.xml"
2339
40+ # 4. Upload to your website
41+ echo " Uploading appcast to $NEEWERLITE_REMOTE_USER_NAME :$NEEWERLITE_REMOTE_FOLDER ..."
2442ssh $NEEWERLITE_REMOTE_USER_NAME " rm $NEEWERLITE_REMOTE_FOLDER /appcast.xml"
25-
2643scp " ${BUILD_DIR} /appcast.xml" $NEEWERLITE_REMOTE_USER_NAME :$NEEWERLITE_REMOTE_FOLDER /
27- scp " ${BUILD_DIR} /${DMG_FILENAME} .zip" $NEEWERLITE_REMOTE_USER_NAME :$NEEWERLITE_REMOTE_FOLDER /download/
44+ scp " ${ZIP_PATH} " $NEEWERLITE_REMOTE_USER_NAME :$NEEWERLITE_REMOTE_FOLDER /download/
45+
46+ # 5. Upload to GitHub release
47+ echo " Creating GitHub release for $TAG_NAME ..."
48+
49+ gh release create " $TAG_NAME " " $ZIP_PATH " \
50+ --repo " keefo/NeewerLite" \
51+ --title " $RELEASE_TITLE " \
52+ --notes " Auto-generated release for $RELEASE_TITLE "
53+
54+ echo " ✅ Release $TAG_NAME published to GitHub and website."
0 commit comments