Skip to content

Commit a7f2dfb

Browse files
committed
Build generate_appcast tool on demand in CI
1 parent 828847b commit a7f2dfb

1 file changed

Lines changed: 20 additions & 0 deletions

File tree

.github/workflows/release-dmg.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,27 @@ jobs:
193193
run: |
194194
set -euo pipefail
195195
DERIVED_DATA_PATH="$RUNNER_TEMP/DerivedData"
196+
SPARKLE_CHECKOUT="$DERIVED_DATA_PATH/SourcePackages/checkouts/Sparkle"
196197
GENERATE_APPCAST_BIN="$DERIVED_DATA_PATH/SourcePackages/checkouts/Sparkle/bin/generate_appcast"
198+
199+
if [ ! -x "$GENERATE_APPCAST_BIN" ]; then
200+
if [ ! -d "$SPARKLE_CHECKOUT" ]; then
201+
echo "error: Sparkle checkout not found at $SPARKLE_CHECKOUT"
202+
exit 1
203+
fi
204+
205+
SPARKLE_TOOLS_DERIVED_DATA="$RUNNER_TEMP/SparkleToolsDerivedData"
206+
xcodebuild \
207+
-project "$SPARKLE_CHECKOUT/Sparkle.xcodeproj" \
208+
-scheme generate_appcast \
209+
-configuration Release \
210+
-derivedDataPath "$SPARKLE_TOOLS_DERIVED_DATA" \
211+
-destination 'platform=macOS' \
212+
build
213+
214+
GENERATE_APPCAST_BIN="$SPARKLE_TOOLS_DERIVED_DATA/Build/Products/Release/generate_appcast"
215+
fi
216+
197217
test -x "$GENERATE_APPCAST_BIN"
198218
199219
APPCAST_DIR="$RUNNER_TEMP/appcast"

0 commit comments

Comments
 (0)