@@ -140,13 +140,24 @@ jobs:
140140 - name : Install asc CLI
141141 run : brew tap tddworks/tap && brew install asccli
142142
143+ - name : Setup ASC credentials
144+ # Decode the base64-encoded .p8 key into raw PEM that asc CLI expects via ASC_PRIVATE_KEY.
145+ # Setting all three vars in $GITHUB_ENV avoids repeating them in every asc step.
146+ env :
147+ ASC_PRIVATE_KEY_B64 : ${{ secrets.APP_STORE_CONNECT_API_KEY_P8 }}
148+ run : |
149+ echo "ASC_KEY_ID=${{ secrets.APP_STORE_CONNECT_KEY_ID }}" >> $GITHUB_ENV
150+ echo "ASC_ISSUER_ID=${{ secrets.APP_STORE_CONNECT_ISSUER_ID }}" >> $GITHUB_ENV
151+ {
152+ echo 'ASC_PRIVATE_KEY<<EOF'
153+ echo "$ASC_PRIVATE_KEY_B64" | base64 --decode
154+ echo 'EOF'
155+ } >> $GITHUB_ENV
156+
143157 - name : Download & Install Provisioning Profile
144158 # Downloads the MAC_APP_STORE profile directly from App Store Connect via `asc`.
145159 # No MAS_PROVISIONING_PROFILE secret needed — always fetches the latest version.
146- env :
147- ASC_KEY_ID : ${{ secrets.APP_STORE_CONNECT_KEY_ID }}
148- ASC_ISSUER_ID : ${{ secrets.APP_STORE_CONNECT_ISSUER_ID }}
149- ASC_PRIVATE_KEY : ${{ secrets.APP_STORE_CONNECT_API_KEY_P8 }}
160+ # ASC_KEY_ID / ASC_ISSUER_ID / ASC_PRIVATE_KEY are set globally by "Setup ASC credentials".
150161 run : |
151162 # Resolve the bundle ID resource ID for this app
152163 BUNDLE_ID_ID=$(asc bundle-ids list --identifier "$BUNDLE_ID" --platform macos \
@@ -225,10 +236,6 @@ jobs:
225236 echo "Exported: $PKG_FILE"
226237
227238 - name : Upload to App Store Connect
228- env :
229- ASC_KEY_ID : ${{ secrets.APP_STORE_CONNECT_KEY_ID }}
230- ASC_ISSUER_ID : ${{ secrets.APP_STORE_CONNECT_ISSUER_ID }}
231- ASC_PRIVATE_KEY : ${{ secrets.APP_STORE_CONNECT_API_KEY_P8 }}
232239 run : |
233240 asc builds upload \
234241 --app-id "$APP_ID" \
@@ -238,20 +245,12 @@ jobs:
238245 --wait
239246
240247 - name : Get Build ID
241- env :
242- ASC_KEY_ID : ${{ secrets.APP_STORE_CONNECT_KEY_ID }}
243- ASC_ISSUER_ID : ${{ secrets.APP_STORE_CONNECT_ISSUER_ID }}
244- ASC_PRIVATE_KEY : ${{ secrets.APP_STORE_CONNECT_API_KEY_P8 }}
245248 run : |
246249 BUILD_ID=$(asc builds list --app-id "$APP_ID" | jq -r '.data[0].id')
247250 echo "BUILD_ID=$BUILD_ID" >> $GITHUB_ENV
248251 echo "Build ID: $BUILD_ID"
249252
250253 - name : Distribute to TestFlight
251- env :
252- ASC_KEY_ID : ${{ secrets.APP_STORE_CONNECT_KEY_ID }}
253- ASC_ISSUER_ID : ${{ secrets.APP_STORE_CONNECT_ISSUER_ID }}
254- ASC_PRIVATE_KEY : ${{ secrets.APP_STORE_CONNECT_API_KEY_P8 }}
255254 run : |
256255 asc builds add-beta-group \
257256 --build-id "$BUILD_ID" \
@@ -264,10 +263,6 @@ jobs:
264263
265264 - name : Submit for App Store Review
266265 if : ${{ inputs.submit_for_review }}
267- env :
268- ASC_KEY_ID : ${{ secrets.APP_STORE_CONNECT_KEY_ID }}
269- ASC_ISSUER_ID : ${{ secrets.APP_STORE_CONNECT_ISSUER_ID }}
270- ASC_PRIVATE_KEY : ${{ secrets.APP_STORE_CONNECT_API_KEY_P8 }}
271266 run : |
272267 VERSION_ID=$(asc versions list --app-id "$APP_ID" | jq -r '.data[0].id')
273268 asc versions set-build --version-id "$VERSION_ID" --build-id "$BUILD_ID"
0 commit comments