13 Commits

Author SHA1 Message Date
b540f01759 Fix Sybil release paths
All checks were successful
TestFlight / Build and upload (push) Successful in 1m50s
2026-07-27 17:36:31 -07:00
e719cbb92d Simplify iOS TestFlight automation
Some checks failed
TestFlight / Build and upload (push) Failing after 18s
2026-07-27 17:29:47 -07:00
e7b81f24bd ci: put CI keychain first in codesign search list
Some checks failed
TestFlight / testflight (push) Failing after 19s
codesign resolves signing identities through the user keychain search
list (first match wins) and ignores --keychain for the lookup. This
runner hosts another project whose keychain holds the same Apple
Distribution identity, so when that keychain is locked, codesign fails
with errSecInternalComponent no matter how correctly our own keychain
is set up. Prepend the fresh CI keychain to the search list for the
build and always delete it afterward, which restores the original list.

Also drop the runner-diagnostics step, the GitHub-hosted Ruby PATH
export, and the duplicate CODE_SIGN_IDENTITY param.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-11 13:01:42 -07:00
b6859706db ios: simplify CI signing keychain setup
Some checks failed
TestFlight / testflight (push) Failing after 25s
2026-07-11 11:55:04 -07:00
ea148839d3 Revert "ios: pass match keychain to codesign"
This reverts commit a0e410155d.
2026-07-11 11:32:00 -07:00
a0e410155d ios: pass match keychain to codesign
Some checks failed
TestFlight / testflight (push) Failing after 55s
2026-07-11 11:29:10 -07:00
b15473d24e ios: stamp release version into XcodeGen spec
All checks were successful
TestFlight / testflight (push) Successful in 1m43s
2026-06-26 01:29:54 -07:00
a512a65844 ios: accept release tag namespace in Fastfile
All checks were successful
TestFlight / testflight (push) Successful in 1m55s
2026-06-26 01:18:02 -07:00
ee990dde5d ios: simplify Fastfile signing now that the runner has a real session
With SessionCreate on the runner's launchd job, standard fastlane keychain
handling works, so drop the debugging-era workarounds: the manual
default-keychain / list-keychains search-list juggling, the login-keychain
restoration in cleanup, the verify_ci_signing re-unlock/partition/find-identity
step (match already imports the cert and sets the key partition list), and the
CODE_SIGN_KEYCHAIN / OTHER_CODE_SIGN_FLAGS xcargs. CI signing is now a single
create_keychain + match. No behavior change; validated end-to-end on TestFlight.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 00:52:36 -07:00
036743fe41 ios: source TestFlight build number from CI run number
All checks were successful
TestFlight / testflight (push) Successful in 1m53s
App Store Connect requires CFBundleVersion to be unique and strictly
increasing app-wide. latest_testflight_build_number could return a stale
value (it missed an existing build 13) and produced colliding build
numbers, 409-ing every upload. Use the monotonic Gitea run number
(github.run_number -> SYBIL_BUILD_NUMBER) instead.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 00:41:37 -07:00
4e7ea7ab68 ios: get TestFlight CI signing working
Some checks failed
TestFlight / testflight (push) Failing after 57s
Replace the old testflight-release workflow with a single
`testflight.yml` Gitea Actions workflow and rework the fastlane `beta`
lane: match-based app-store signing into a disposable CI keychain,
XcodeGen project generation, version/build-number bumping, and upload
to TestFlight. Pin Ruby to 3.1.7 for the runner.

Squashes the iterative CI signing debugging history into one commit.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 00:28:27 -07:00
f232013e5a ios: ci: deploy via fastlane
Some checks failed
TestFlight Release / testflight (push) Failing after 9s
2026-06-25 19:30:58 -07:00
8f6e8c17a5 ios: add fastlane 2026-06-05 23:19:14 -07:00