Skip to content

Commit febfa9e

Browse files
committed
work on app selection building
1 parent 4d9e1aa commit febfa9e

File tree

1 file changed

+61
-2
lines changed

1 file changed

+61
-2
lines changed

.github/workflows/ios-action.yml

Lines changed: 61 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,70 @@ jobs:
5252
- name: Capacitor sync (iOS)
5353
run: npx cap sync ios
5454

55+
- name: Detect selected app and iOS signing params
56+
id: detect_ios_app
57+
shell: bash
58+
env:
59+
SELECTED_APP_FILE: scripts/.selected-app
60+
# ESPACECO_DEPLOY_PROFILE: ${{ secrets.DEPLOY_PROVISION_PROFILE_BASE64_ESPACECO }}
61+
ESPACECO_APPSTORE_PROFILE: ${{ secrets.DEPLOY_PROVISION_PROFILE_BASE64_ESPACECO }}
62+
ESPACECO_EXPORT_PLIST: ${{ secrets.IOS_EXPORT_PRODUCTION_ESPACECO }}
63+
# NAVIFOREST_DEPLOY_PROFILE: ${{ secrets.DEPLOY_PROVISION_PROFILE_BASE64_NAVIFOREST }}
64+
NAVIFOREST_APPSTORE_PROFILE: ${{ secrets.DEPLOY_PROVISION_PROFILE_BASE64_NAVIFOREST }}
65+
NAVIFOREST_EXPORT_PLIST: ${{ secrets.IOS_EXPORT_PRODUCTION_NAVIFOREST }}
66+
run: |
67+
set -euo pipefail
68+
69+
app="EspaceCo"
70+
if [[ -f "$SELECTED_APP_FILE" ]]; then
71+
candidate=$(tr -d '\r\n' < "$SELECTED_APP_FILE")
72+
if [[ "$candidate" == "NaviForest" || "$candidate" == "EspaceCo" ]]; then
73+
app="$candidate"
74+
else
75+
echo "Unknown app '$candidate' in $SELECTED_APP_FILE, defaulting to EspaceCo" >&2
76+
fi
77+
fi
78+
79+
if [[ "$app" == "NaviForest" ]]; then
80+
profile="$NAVIFOREST_DEPLOY_PROFILE"
81+
appstore_profile="$NAVIFOREST_APPSTORE_PROFILE"
82+
export_plist="$NAVIFOREST_EXPORT_PLIST"
83+
if [[ -z "$profile" || -z "$appstore_profile" || -z "$export_plist" ]]; then
84+
echo "Missing NaviForest secrets; using EspaceCo configuration" >&2
85+
app="EspaceCo"
86+
fi
87+
fi
88+
89+
if [[ "$app" == "EspaceCo" ]]; then
90+
appstore_profile="$ESPACECO_APPSTORE_PROFILE"
91+
export_plist="$ESPACECO_EXPORT_PLIST"
92+
fi
93+
94+
if [[ -z "${profile}" ]]; then
95+
echo "Missing provisioning profile secret for $app" >&2
96+
exit 1
97+
fi
98+
if [[ -z "${export_plist}" ]]; then
99+
echo "Missing export options plist secret for $app" >&2
100+
exit 1
101+
fi
102+
if [[ -z "${appstore_profile}" ]]; then
103+
appstore_profile="$profile"
104+
fi
105+
106+
echo "Selected app: $app"
107+
108+
{
109+
printf 'SELECTED_APP=%s\n' "$app"
110+
printf 'APPSTORE_PROFILE_BASE64<<EOF\n%s\nEOF\n' "$appstore_profile"
111+
printf 'IOS_EXPORT_PRODUCTION<<EOF\n%s\nEOF\n' "$export_plist"
112+
} >> "$GITHUB_ENV"
113+
55114
- name: Install Apple distribution cert & App Store profile
56115
env:
57116
DISTRIBUTION_CERTIFICATE_P12: ${{ secrets.DISTRIBUTION_CERTIFICATE_P12 }}
58117
P12_PASSWORD_DISTR: ${{ secrets.P12_PASSWORD_DISTR }}
59-
APPSTORE_PROFILE_BASE64: ${{ secrets.DEPLOY_PROVISION_PROFILE_BASE64 }}
118+
APPSTORE_PROFILE_BASE64: ${{ env.APPSTORE_PROFILE_BASE64 }}
60119
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
61120
run: |
62121
set -euo pipefail
@@ -129,7 +188,7 @@ jobs:
129188
130189
- name: Export IPA
131190
env:
132-
EXPORT_PLIST_B64: ${{ secrets.IOS_EXPORT_PRODUCTION }}
191+
EXPORT_PLIST_B64: ${{ env.IOS_EXPORT_PRODUCTION }}
133192
run: |
134193
set -euo pipefail
135194
EXPORT_PLIST=$RUNNER_TEMP/ExportOptions.plist

0 commit comments

Comments
 (0)