[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
This commit is contained in:
Daniel Arantes Loverde
2026-07-09 16:24:23 -03:00
parent 74526d0fb9
commit 5761523344
3 changed files with 84 additions and 60 deletions

View File

@@ -5,4 +5,6 @@ require('dotenv')
Dotenv.load '../../Skip.env'
app_identifier(ENV['ANDROID_APPLICATION_ID'] || ENV['PRODUCT_BUNDLE_IDENTIFIER'])
# apple_id("my@email")
apple_id ENV["APPLE_ID"]
itc_team_id ENV["ITC_TEAM_ID"]
team_id ENV["DEVELOPMENT_TEAM"]

View File

@@ -20,35 +20,26 @@ lane :assemble do |options|
)
end
# ─── Upload IPA to TestFlight (Bitrise's xcode-archive step already built it) ──
lane :beta do |options|
desc "Build and upload to TestFlight"
get_provisioning_profile(api_key_path: "fastlane/apikey.json")
assemble
upload_to_testflight(
api_key_path: "fastlane/apikey.json",
ipa: ENV["BITRISE_IPA_PATH"],
skip_waiting_for_build_processing: true
)
end
# ─── Push metadata + upload IPA to App Store (Bitrise already built it) ───────
lane :release do |options|
desc "Build and release app"
# see https://docs.fastlane.tools/uploading-app-privacy-details/
#upload_app_privacy_details_to_app_store(json_path: "fastlane/app_privacy_details.json")
# if you have an apikey.json file (https://developer.apple.com/documentation/appstoreconnectapi/creating-api-keys-for-app-store-connect-api), fastlane can automatically fetch certificates and the ASC authentication information
#get_certificates(api_key_path: "fastlane/apikey.json")
get_provisioning_profile(api_key_path: "fastlane/apikey.json")
assemble
upload_to_app_store(
api_key_path: "fastlane/apikey.json",
deliver(
ipa: ENV["BITRISE_IPA_PATH"],
app_rating_config_path: "fastlane/metadata/rating.json",
release_notes: { default: "Fixes and improvements." }
release_notes: { default: "Fixes and improvements." },
skip_screenshots: false,
skip_metadata: false,
force: true,
submit_for_review: false,
automatic_release: false,
run_precheck_before_submit: false
)
end