Some checks failed
CI / Scraper / Lint (pull_request) Successful in 14s
CI / UI / Build (pull_request) Successful in 16s
CI / Scraper / Test (pull_request) Successful in 17s
CI / Scraper / Docker Push (pull_request) Has been skipped
CI / UI / Docker Push (pull_request) Has been skipped
iOS CI / Build (push) Successful in 1m31s
iOS CI / Test (pull_request) Has been cancelled
iOS CI / Build (pull_request) Has been cancelled
iOS Release / Release to TestFlight (push) Failing after 57s
iOS CI / Test (push) Successful in 4m29s
48 lines
1.4 KiB
Ruby
48 lines
1.4 KiB
Ruby
default_platform(:ios)
|
|
|
|
platform :ios do
|
|
desc "Build and upload to TestFlight"
|
|
lane :beta do
|
|
# Generate Xcode project from project.yml (one level up from fastlane/)
|
|
sh("cd .. && xcodegen generate --spec project.yml --project .")
|
|
|
|
# Set build number from CI run number (passed as env var)
|
|
increment_build_number(
|
|
build_number: ENV["BUILD_NUMBER"] || "1",
|
|
xcodeproj: "LibNovel.xcodeproj"
|
|
)
|
|
|
|
# Enable manual code signing with specific provisioning profile UUID
|
|
# Using UUID instead of name because Xcode expects TEAM_ID/Name format for names
|
|
update_code_signing_settings(
|
|
use_automatic_signing: false,
|
|
team_id: "GHZXC6FVMU",
|
|
targets: ["LibNovel"],
|
|
path: "LibNovel.xcodeproj",
|
|
profile_uuid: ENV["PROVISIONING_PROFILE_UUID"] || "af592c3a-f60b-4ac1-a14f-30b8a206017f",
|
|
code_sign_identity: "Apple Distribution"
|
|
)
|
|
|
|
# Build the app with manual signing
|
|
build_app(
|
|
scheme: "LibNovel",
|
|
export_method: "app-store",
|
|
clean: true,
|
|
configuration: "Release",
|
|
export_options: {
|
|
method: "app-store",
|
|
teamID: "GHZXC6FVMU",
|
|
provisioningProfiles: {
|
|
"com.kalekber.LibNovel" => ENV["PROVISIONING_PROFILE_NAME"] || "LibNovel Distribution"
|
|
},
|
|
signingStyle: "manual"
|
|
}
|
|
)
|
|
|
|
# Upload to TestFlight
|
|
upload_to_testflight(
|
|
skip_waiting_for_build_processing: true
|
|
)
|
|
end
|
|
end
|