Commit Graph

18 Commits

Author SHA1 Message Date
dd5760e3e9 Merge branch 'main' into ci/gitea-actions/macos-runner 2026-07-31 11:53:14 -03:00
Daniel Arantes Loverde
c6ebd5db2b [macos-runner] Don't auto-submit for review after upload
Binary upload itself succeeded - the only failure was
upload_to_app_store's default auto-submission colliding with an
existing in-progress review submission. CI should deliver the build;
submitting for review stays a deliberate manual step in App Store
Connect.
2026-07-31 11:52:24 -03:00
1bd23a800b Merge branch 'main' into ci/gitea-actions/macos-runner 2026-07-31 11:38:00 -03:00
Daniel Arantes Loverde
007227f0ea [macos-runner] Fix build number bump - agvtool was silently no-oping
Upload rejected with "bundle version must be higher than previously
uploaded version: 1" - agvtool new-version requires VERSIONING_SYSTEM =
apple-generic, which this project never sets, so it did nothing every
run despite reporting success. Pass CURRENT_PROJECT_VERSION directly
via xcargs instead, parameterized from the job's run number.
2026-07-31 11:36:50 -03:00
abeb2fa83c Merge branch 'main' into ci/gitea-actions/macos-runner 2026-07-31 11:14:14 -03:00
Daniel Arantes Loverde
7445561e5c [macos-runner] Revert update_code_signing_settings - unusable on this project format
The xcodeproj gem can't parse PediFoods.xcodeproj's .pbxproj (newer
Xcode format than any released gem version supports), so the runtime
override always fails with a misleading "very old project file" error.
Signing config for the app target needs to live in the checked-in
project settings instead (set once via Xcode's GUI), since no
command-line override can be scoped to a single target without also
breaking the SPM package's own ephemeral targets.
2026-07-31 10:54:04 -03:00
0dab971a93 Merge branch 'main' into ci/gitea-actions/macos-runner 2026-07-31 10:21:27 -03:00
Daniel Arantes Loverde
cfa054a593 [macos-runner] Scope manual signing to the app target only
Blanket xcargs (CODE_SIGN_STYLE=Manual etc.) applied to every target in
the build, including the SPM package's own generated targets (PediFoods,
pedi-foods_PediFoods) which explicitly reject provisioning profiles and
need to stay Automatic. Use update_code_signing_settings scoped to just
"PediFoods App" instead, guarded behind DEVELOPMENT_TEAM being set so
Bitrise's existing automatic-signing path is untouched.
2026-07-31 10:20:33 -03:00
9351cbd31c Merge branch 'main' into ci/gitea-actions/macos-runner 2026-07-31 10:06:08 -03:00
Daniel Arantes Loverde
d21ee2e7a6 [macos-runner] Pass DEVELOPMENT_TEAM into xcargs for SPM package targets
Main app target signed fine after the manual signing override, but the
SPM-generated pedi-foods_PediFoods target still failed with "requires a
development team" - it needs DEVELOPMENT_TEAM directly since profile
specifiers only map to the app's own bundle ID. Already available as a
job env var, just wasn't being passed into xcodebuild's build settings.
2026-07-31 10:05:32 -03:00
19d3deb237 Merge branch 'main' into ci/gitea-actions/macos-runner 2026-07-31 09:39:30 -03:00
Daniel Arantes Loverde
3e82e6e1fe [macos-runner] Force manual code signing in the assemble lane's xcargs
xcodebuild ignored sigh's downloaded provisioning profile because the
Xcode project's signing style is Automatic, which needs an interactive
Apple ID session unavailable in headless CI. Override at build time via
xcargs instead of changing the checked-in project signing settings.
2026-07-31 09:38:29 -03:00
Daniel Arantes Loverde
017bd7168f [2026-07-resubmission] Add guest browsing flow with App Attest session for App Review resubmission
Adds a pre-login public store locator (guest session via DeviceCheck/App
Attest, keychain-backed token storage) so the app no longer forces sign-in
before showing any content, plus updated support URL metadata.
2026-07-30 11:35:25 -03:00
Daniel Arantes Loverde
0d9ebbd621 [ci-bitrise] Revert to fastlane-driven build — xcode-archive can't parse this project
xcode-archive@5 failed: 'unkown SDKROOT: auto'. Darwin/PediFoods.xcconfig
sets SDKROOT = auto and SUPPORTED_PLATFORMS = iphoneos iphonesimulator
macosx (Skip's multi-platform build target) — same root cause as the
earlier PLATFORM_DISPLAY_NAME failure from manage-ios-code-signing.
Both are Bitrise step-side project parsers that pre-guess a single
platform before invoking xcodebuild, and neither understands this
project's build shape.

xcodebuild itself has no problem with SDKROOT = auto (confirmed via a
local build). Only Bitrise's own step parsers choke on it. Going through
fastlane's build_app instead sidesteps that parser entirely — it's the
same approach the Darwin/fastlane/Fastfile already used before, restored
here with the earlier apikey.json JSON-escaping and DEVELOPMENT_TEAM
injection fixes kept.
2026-07-09 17:17:07 -03:00
Daniel Arantes Loverde
5761523344 [ci-bitrise] Mirror LC Wallet's bitrise.yml structure exactly
Switch from fastlane-driven build (build_app + hand-rolled apikey.json)
to Bitrise's own xcode-archive step, matching LC Wallet 1:1: manage-ios-
code-signing + xcode-archive@5 (automatic_code_signing: api-key) do the
build/sign, deploy-to-itunesconnect-deliver@2 handles TestFlight in the
beta workflow, fastlane only runs for the release lane (metadata push +
App Store upload) reading BITRISE_IPA_PATH — same shape as LC Wallet's
Fastfile beta/release lanes.

Only genuine differences from LC Wallet, all forced by this project's
actual layout:
- BITRISE_PROJECT_PATH/SCHEME point at Darwin/PediFoods.xcodeproj
- fastlane work_dir is Darwin/ (Fastfile lives there, not repo root)
- build number bumps CURRENT_PROJECT_VERSION in Skip.env instead of
  agvtool — this project has no VERSIONING_SYSTEM set, Skip.env is the
  actual shared source of truth for both Darwin and Android
- team_id comes from a DEVELOPMENT_TEAM secret instead of a hardcoded
  literal — LC Wallet's Apple team ID isn't necessarily this app's
2026-07-09 16:24:23 -03:00
Daniel Arantes Loverde
ffd7ca6125 [ci-bitrise] Fix envs and versioning to match this project's actual config
agvtool doesn't apply here — no VERSIONING_SYSTEM set, CURRENT_PROJECT_VERSION
comes from Skip.env (shared with the Android side) via #include in
Darwin/PediFoods.xcconfig. Bump it there instead.

Dropped APPLE_ID, ITC_TEAM_ID and unused BITRISE_DISTRIBUTION_METHOD carried
over from LC Wallet's Fastfile/Appfile shape — none of them are read anywhere
in this project's Appfile or Fastfile.

Added the actual missing piece: DEVELOPMENT_TEAM, which both
Darwin/PediFoods.xcconfig and Darwin/fastlane/AppStore.xcconfig leave blank
on purpose for CI to fill in. Wired BITRISE_DISTRIBUTION_METHOD into
build_app's export_method so it stops being dead config.
2026-07-09 14:07:57 -03:00
Daniel Arantes Loverde
38e641a082 [ci-bitrise] Add Bitrise pipeline for TestFlight and App Store deploys
Modeled on LC Wallet's bitrise.yml. Push-only trigger map (develop->beta,
main->release), no PR-triggered checks. Reuses the existing Skip fastlane
lanes directly instead of a generic xcode-archive step, since build_app
already carries the Skip-specific xcconfig and build flags. Adds a beta
lane (TestFlight) to match release, which was the only lane wired before.
2026-07-09 13:46:49 -03:00
Daniel Arantes Loverde
e51c99973f Commit 2026-07-07 15:11:31 -03:00