ios: sign with disposable login keychain
Some checks failed
TestFlight Release / testflight (push) Failing after 17s

This commit is contained in:
2026-06-25 22:12:17 -07:00
parent 0ae551615f
commit 0062f37b9f
2 changed files with 6 additions and 5 deletions

View File

@@ -91,7 +91,7 @@ jobs:
developer_dir="$(xcode-select -p)" developer_dir="$(xcode-select -p)"
signing_dir="$(mktemp -d "${RUNNER_TEMP:-${TMPDIR:-/tmp}}/sybil-signing.XXXXXX")" signing_dir="$(mktemp -d "${RUNNER_TEMP:-${TMPDIR:-/tmp}}/sybil-signing.XXXXXX")"
mkdir -p "${HOME}/Library/Keychains" mkdir -p "${HOME}/Library/Keychains"
keychain_name="${HOME}/Library/Keychains/${SIGNING_KEYCHAIN}-${GITHUB_RUN_ID:-$(uuidgen)}.keychain" keychain_name="${HOME}/Library/Keychains/login.keychain"
certificate_path="${signing_dir}/appstore-signing.p12" certificate_path="${signing_dir}/appstore-signing.p12"
wwdr_certificate_path="${signing_dir}/AppleWWDRCAG3.cer" wwdr_certificate_path="${signing_dir}/AppleWWDRCAG3.cer"
profile_path="${signing_dir}/Sybil_AppStore_CI.mobileprovision" profile_path="${signing_dir}/Sybil_AppStore_CI.mobileprovision"

View File

@@ -13,14 +13,15 @@ git tag release/v1.10.0
git push origin release/v1.10.0 git push origin release/v1.10.0
``` ```
The release job runs on the `xcode` runner label, imports the signing p12 into The release job runs on the `xcode` runner label, creates the runner user's
a temporary per-user keychain, makes that keychain the user default for the login keychain from Gitea secrets, makes that keychain the user default for the
duration of the job, installs the App Store provisioning profile in both the duration of the job, installs the App Store provisioning profile in both the
legacy MobileDevice directory and the Xcode UserData directory used by newer legacy MobileDevice directory and the Xcode UserData directory used by newer
Xcode releases, builds and uploads the app with fastlane, then creates or Xcode releases, builds and uploads the app with fastlane, then creates or
updates the matching Gitea release with the generated IPA as an asset. The job updates the matching Gitea release with the generated IPA as an asset. The job
restores the previous user default keychain and deletes the temporary signing restores the previous user default keychain and deletes the user login keychain
keychain and installed profiles in an `always()` cleanup step. and installed profiles in an `always()` cleanup step. No signing material is
installed into the system keychain.
Required repository secrets: Required repository secrets: