From 2976daf2e3177a7f9dc10779dfefd09d18df8453 Mon Sep 17 00:00:00 2001 From: enricobuehler Date: Sat, 13 Jun 2026 19:23:16 +0000 Subject: [PATCH] diag(ci/release): dump provisioning-profile dirs around the iOS archive iOS manual signing fails 'No profile matching Punktfunk App Store Distribution' despite the profile being installed (content verified: right name/team/iOS/app-id). The profile is in ~/Library/MobileDevice but Xcode 26 reads ~/Library/Developer/Xcode/UserData/Provisioning Profiles, which is empty. Print both dirs before the archive and again at failure to confirm whether Xcode regenerates/prunes the UserData copy during the build. Co-Authored-By: Claude Opus 4.8 (1M context) --- .gitea/workflows/release.yml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index b04d708..9b283c1 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -316,6 +316,13 @@ jobs: cp "$RUNNER_TEMP/appstore.mobileprovision" "$d/$PROFILE_UUID.mobileprovision" done echo "iOS App Store profile: '$PROFILE_NAME' ($PROFILE_UUID)" + # Where did it land, and where does xcodebuild look? (manual-signing profile lookup + # reads ~/Library/MobileDevice + ~/Library/Developer/Xcode/UserData; confirm HOME.) + echo "HOME=$HOME whoami=$(whoami)" + echo "--- MobileDevice profiles ---"; ls -la "$HOME/Library/MobileDevice/Provisioning Profiles/" 2>&1 | tail -4 + echo "--- UserData profiles ---"; ls -la "$HOME/Library/Developer/Xcode/UserData/Provisioning Profiles/" 2>&1 | tail -4 + echo "--- profile team(s) (want F4H37KF6WC) + name ---" + /usr/libexec/PlistBuddy -c 'Print :TeamIdentifier' "$RUNNER_TEMP/appstore-profile.plist" 2>/dev/null | head -4 security list-keychains -d user -s "$KEYCHAIN" login.keychain-db security default-keychain -d user -s "$KEYCHAIN" DEVELOPER_DIR="$XCODE_DEV_DIR" xcodebuild archive \ @@ -326,7 +333,11 @@ jobs: CODE_SIGN_STYLE=Manual \ CODE_SIGN_IDENTITY="Apple Distribution" \ DEVELOPMENT_TEAM="$TEAM_ID" \ - PROVISIONING_PROFILE_SPECIFIER="$PROFILE_NAME" + PROVISIONING_PROFILE_SPECIFIER="$PROFILE_NAME" \ + || { echo "=== archive failed — profile dirs AT FAILURE TIME ==="; \ + ls -la "$HOME/Library/MobileDevice/Provisioning Profiles/" 2>&1 | tail -4; \ + ls -la "$HOME/Library/Developer/Xcode/UserData/Provisioning Profiles/" 2>&1 | tail -4; \ + exit 1; } cat > "$RUNNER_TEMP/export-appstore.plist" <