ci(release): stage Apple intermediate CAs in the signing keychain
ci / web (push) Failing after 34s
ci / rust (push) Successful in 55s
ci / docs-site (push) Failing after 32s
apple / swift (push) Successful in 1m19s
docker / deploy-docs (push) Successful in 12s
docker / build-push (docs-site, docs-site/Dockerfile, punktfunk-docs) (push) Successful in 4s
docker / build-push (ci, ci/rust-ci.Dockerfile, punktfunk-rust-ci) (push) Successful in 3s
docker / build-push (., web/Dockerfile, punktfunk-web) (push) Successful in 3s
release / apple (push) Failing after 2m43s
ci / web (push) Failing after 34s
ci / rust (push) Successful in 55s
ci / docs-site (push) Failing after 32s
apple / swift (push) Successful in 1m19s
docker / deploy-docs (push) Successful in 12s
docker / build-push (docs-site, docs-site/Dockerfile, punktfunk-docs) (push) Successful in 4s
docker / build-push (ci, ci/rust-ci.Dockerfile, punktfunk-rust-ci) (push) Successful in 3s
docker / build-push (., web/Dockerfile, punktfunk-web) (push) Successful in 3s
release / apple (push) Failing after 2m43s
Fresh boxes lack the Developer ID / WWDR intermediates; without the issuing chain the imported identity is invalid and xcodebuild says "No signing certificate Developer ID Application found". Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -91,6 +91,16 @@ jobs:
|
||||
security create-keychain -p "$KEYCHAIN_PASS" "$KEYCHAIN"
|
||||
security set-keychain-settings -lut 7200 "$KEYCHAIN"
|
||||
security unlock-keychain -p "$KEYCHAIN_PASS" "$KEYCHAIN"
|
||||
# Apple's intermediates — without the issuing CA in the chain the identity is
|
||||
# "invalid" and xcodebuild reports "No signing certificate ... found" even
|
||||
# though the cert imported fine (fresh boxes don't ship all WWDR/Developer ID
|
||||
# intermediates).
|
||||
for ca in DeveloperIDG2CA AppleWWDRCAG3 AppleWWDRCAG4; do
|
||||
curl -sf "https://www.apple.com/certificateauthority/$ca.cer" \
|
||||
-o "$RUNNER_TEMP/$ca.cer" \
|
||||
&& security import "$RUNNER_TEMP/$ca.cer" -k "$KEYCHAIN" -t cert >/dev/null \
|
||||
|| echo "::warning::could not stage intermediate $ca"
|
||||
done
|
||||
printf '%s' "$P12_B64" | base64 -d > "$RUNNER_TEMP/devid.p12"
|
||||
security import "$RUNNER_TEMP/devid.p12" -k "$KEYCHAIN" -P "$P12_PASSWORD" \
|
||||
-T /usr/bin/codesign -T /usr/bin/security
|
||||
|
||||
Reference in New Issue
Block a user