fix(ci/release): quit Xcode.app so it stops pruning the iOS profile
apple / swift (push) Successful in 1m16s
ci / rust (push) Failing after 42s
ci / web (push) Successful in 30s
ci / docs-site (push) Successful in 31s
ci / bench (push) Successful in 1m35s
docker / build-push (--build-arg FEDORA_VERSION=44, ci, ci/fedora-rpm.Dockerfile, punktfunk-fedora44-rpm) (push) Successful in 5s
docker / build-push (., web/Dockerfile, punktfunk-web) (push) Successful in 4s
docker / build-push (ci, ci/fedora-rpm.Dockerfile, punktfunk-fedora-rpm) (push) Successful in 3s
docker / build-push (ci, ci/rust-ci.Dockerfile, punktfunk-rust-ci) (push) Successful in 4s
docker / build-push (docs-site, docs-site/Dockerfile, punktfunk-docs) (push) Successful in 3s
deb / build-publish (push) Successful in 2m0s
rpm / build-publish (bazzite, punktfunk-fedora-rpm) (push) Successful in 5m9s
rpm / build-publish (fedora-44, punktfunk-fedora44-rpm) (push) Successful in 5m8s
docker / deploy-docs (push) Successful in 9s
apple / swift (push) Successful in 1m16s
ci / rust (push) Failing after 42s
ci / web (push) Successful in 30s
ci / docs-site (push) Successful in 31s
ci / bench (push) Successful in 1m35s
docker / build-push (--build-arg FEDORA_VERSION=44, ci, ci/fedora-rpm.Dockerfile, punktfunk-fedora44-rpm) (push) Successful in 5s
docker / build-push (., web/Dockerfile, punktfunk-web) (push) Successful in 4s
docker / build-push (ci, ci/fedora-rpm.Dockerfile, punktfunk-fedora-rpm) (push) Successful in 3s
docker / build-push (ci, ci/rust-ci.Dockerfile, punktfunk-rust-ci) (push) Successful in 4s
docker / build-push (docs-site, docs-site/Dockerfile, punktfunk-docs) (push) Successful in 3s
deb / build-publish (push) Successful in 2m0s
rpm / build-publish (bazzite, punktfunk-fedora-rpm) (push) Successful in 5m9s
rpm / build-publish (fedora-44, punktfunk-fedora44-rpm) (push) Successful in 5m8s
docker / deploy-docs (push) Successful in 9s
Root cause of 'No profile matching Punktfunk App Store Distribution': the GUI Xcode.app was running on the runner and actively manages ~/Library/Developer/Xcode/UserData/Provisioning Profiles, pruning our manually-installed App Store profile from the exact dir xcodebuild reads, right before signing (the legacy ~/Library/MobileDevice copy survives but Xcode 26's xcodebuild doesn't read it). Quit Xcode.app at the top of the iOS signing block; xcodebuild runs independently and headless CI doesn't need the GUI app. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -288,6 +288,14 @@ jobs:
|
|||||||
echo "::warning::IOS_PROFILE_B64 not set — need an App Store provisioning profile for io.unom.punktfunk. Skipping iOS/TestFlight."
|
echo "::warning::IOS_PROFILE_B64 not set — need an App Store provisioning profile for io.unom.punktfunk. Skipping iOS/TestFlight."
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
# A running Xcode.app actively MANAGES ~/Library/Developer/Xcode/UserData/Provisioning
|
||||||
|
# Profiles — it prunes manually-installed profiles it doesn't recognise from its
|
||||||
|
# account, deleting ours from the very dir xcodebuild reads right before signing
|
||||||
|
# (hence 'No profile matching ...' even though the file was installed). Quit it;
|
||||||
|
# headless CI doesn't need the GUI Xcode and xcodebuild runs independently.
|
||||||
|
osascript -e 'tell application "Xcode" to quit' >/dev/null 2>&1 || true
|
||||||
|
pkill -x Xcode 2>/dev/null || true
|
||||||
|
sleep 2
|
||||||
# Stage the App Store provisioning profile + read its Name/UUID (the archive +
|
# Stage the App Store provisioning profile + read its Name/UUID (the archive +
|
||||||
# export reference it by name; Xcode finds it by UUID under the profiles dirs).
|
# export reference it by name; Xcode finds it by UUID under the profiles dirs).
|
||||||
printf '%s' "$IOS_PROFILE_B64" | tr -d '\r\n ' | base64 -d > "$RUNNER_TEMP/appstore.mobileprovision" \
|
printf '%s' "$IOS_PROFILE_B64" | tr -d '\r\n ' | base64 -d > "$RUNNER_TEMP/appstore.mobileprovision" \
|
||||||
|
|||||||
Reference in New Issue
Block a user