Files
FTStore/admin/Makefile
T
Felitendo 305c431530 fix(ci): bring back the dynamic island download progress
The island has been dead since June. The two iOS apps in this repo shared one
Xcode build directory: the Manager is a fork of the app, so both build a
project, a scheme and a target of the same name out of a project file carrying
the same internal ids, and Xcode's build database is keyed on exactly those.
Only the source path differs, which is not enough to tell them apart.

The Manager has no Live Activity target, so its build treated the app's
extension as a leftover file and swept it, while the app's build picked up the
Manager's object files. What shipped was an app whose embedded extension came
from some older build and no longer matched the code around it, so the island
had nothing to render.

It only ever happened on the self-hosted runner. The hosted ones handed every
job a fresh machine, so the directory was always empty and every build was a
clean one.

Each product now derives its build directory from its own folder, so no two can
share one. Both release workflows also assert the extension is inside the IPA
before publishing, because an app missing it installs and runs perfectly and
says nothing about what is wrong.
2026-08-05 22:20:15 +02:00

40 lines
1.1 KiB
Makefile

NAME := FTStoreAdmin
SCHEME := FTStoreAdmin
# Keyed on the product directory like the other two, so no future fork of this
# tree can end up sharing a build database with it. See ios/Makefile.
TMP := $(TMPDIR)/$(NAME)-$(notdir $(CURDIR))
.PHONY: all clean iphoneos
all: iphoneos
clean:
rm -rf $(TMP)
rm -rf packages
rm -rf _build
# No `deps` step, unlike the app and the Manager: FTStore Admin never signs or
# installs anything, so it needs neither the localhost TLS pack nor a Payload
# full of signing material — just the app.
iphoneos:
rm -rf _build
xcodebuild \
-project FTStoreAdmin.xcodeproj \
-scheme $(SCHEME) \
-configuration Release \
-destination "generic/platform=iOS" \
-derivedDataPath $(TMP)/iphoneos \
-skipPackagePluginValidation \
CODE_SIGNING_ALLOWED=NO \
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES=NO
mkdir -p _build/Payload
cp -R _build/Applications/*.app _build/Payload/FTStoreAdmin.app
chmod -R 0755 _build/Payload/FTStoreAdmin.app
codesign --force --sign - --timestamp=none _build/Payload/FTStoreAdmin.app
mkdir -p packages
ditto -c -k --sequesterRsrc --keepParent _build/Payload "packages/FTStore-Admin.ipa"