mirror of
https://github.com/libretro/RetroArch
synced 2025-02-11 15:40:28 +00:00
191 lines
6.3 KiB
Ruby
191 lines
6.3 KiB
Ruby
# This file contains the fastlane.tools configuration
|
|
# You can find the documentation at https://docs.fastlane.tools
|
|
#
|
|
# For a list of all available actions, check out
|
|
#
|
|
# https://docs.fastlane.tools/actions
|
|
#
|
|
# For a list of all available plugins, check out
|
|
#
|
|
# https://docs.fastlane.tools/plugins/available-plugins
|
|
#
|
|
|
|
# Uncomment the line if you want fastlane to automatically update itself
|
|
# update_fastlane
|
|
|
|
default_platform(:ios)
|
|
|
|
platform :ios do
|
|
desc "Push a new beta build to TestFlight"
|
|
lane :beta do
|
|
# this needs these environment variables set:
|
|
# APP_STORE_CONNECT_API_KEY_KEY_ID,
|
|
# APP_STORE_CONNECT_API_KEY_ISSUER_ID,
|
|
# APP_STORE_CONNECT_API_KEY_KEY_FILEPATH
|
|
app_store_connect_api_key
|
|
|
|
reset_git_repo(
|
|
force: true,
|
|
files: [
|
|
"./assets.zip",
|
|
"./iOS/Info.plist"
|
|
]
|
|
)
|
|
ensure_git_status_clean
|
|
git_pull
|
|
sh("git log -1")
|
|
app_store_build_number(
|
|
app_identifier: "com.libretro.dist.RetroArch",
|
|
platform: "ios",
|
|
username: "libretro@gmail.com",
|
|
team_id: "118576492",
|
|
live: true
|
|
)
|
|
latest_testflight_build_number(
|
|
app_identifier: "com.libretro.dist.RetroArch",
|
|
platform: "ios",
|
|
username: "libretro@gmail.com",
|
|
team_id: "118576492"
|
|
)
|
|
next_version_number = lane_context[SharedValues::LATEST_TESTFLIGHT_VERSION]
|
|
if lane_context[SharedValues::LATEST_VERSION] == lane_context[SharedValues::LATEST_TESTFLIGHT_VERSION]
|
|
version_array = next_version_number.split(".").map(&:to_i)
|
|
version_array[-1] = version_array[-1] + 1
|
|
next_version_number = version_array.join(".")
|
|
end
|
|
# can't use update_build_number/agvtool to update this as it
|
|
# doesn't deal with multiple projects in the same folder
|
|
update_info_plist(
|
|
plist_path: "iOS/Info.plist",
|
|
block: proc do |plist|
|
|
plist["CFBundleVersion"] = (lane_context[SharedValues::LATEST_TESTFLIGHT_BUILD_NUMBER] + 1).to_s
|
|
plist["CFBundleShortVersionString"] = next_version_number
|
|
end
|
|
)
|
|
update_code_signing_settings(
|
|
targets: "RetroArchiOS",
|
|
use_automatic_signing: false,
|
|
path: "RetroArch_iOS13.xcodeproj",
|
|
team_id: "UK699V5ZS8",
|
|
code_sign_identity: "iPhone Distribution",
|
|
sdk: "iphoneos*",
|
|
profile_name: "App Store Distribution"
|
|
)
|
|
update_code_signing_settings(
|
|
targets: "RetroArchWidgetExtensionExtension",
|
|
use_automatic_signing: false,
|
|
path: "RetroArch_iOS13.xcodeproj",
|
|
team_id: "UK699V5ZS8",
|
|
bundle_identifier: "com.libretro.dist.RetroArch.RetroArchWidgetExtension",
|
|
code_sign_identity: "iPhone Distribution",
|
|
sdk: "iphoneos*",
|
|
profile_name: "App Store Widget"
|
|
)
|
|
build_app(
|
|
workspace: "RetroArch.xcworkspace",
|
|
scheme: "RetroArch iOS Release",
|
|
xcconfig: "iOS/AppStore.xcconfig",
|
|
xcodebuild_formatter: 'xcbeautify --renderer github-actions',
|
|
buildlog_path: "buildlog",
|
|
export_options: {
|
|
provisioningProfiles: {
|
|
"com.libretro.dist.RetroArch" => "App Store Distribution",
|
|
"com.libretro.dist.RetroArch.RetroArchWidgetExtension" => "App Store Widget"
|
|
}
|
|
}
|
|
)
|
|
upload_to_testflight(
|
|
distribute_external: true,
|
|
groups: ['Invaders', 'Patreons'],
|
|
changelog: "Rebuild frontend from latest master branch and take latest build of all cores."
|
|
)
|
|
end
|
|
end
|
|
|
|
platform :appletvos do
|
|
desc "Push a new beta build to TestFlight"
|
|
lane :beta do
|
|
# this needs these environment variables set:
|
|
# APP_STORE_CONNECT_API_KEY_KEY_ID,
|
|
# APP_STORE_CONNECT_API_KEY_ISSUER_ID,
|
|
# APP_STORE_CONNECT_API_KEY_KEY_FILEPATH
|
|
app_store_connect_api_key
|
|
|
|
reset_git_repo(
|
|
force: true,
|
|
files: [
|
|
"./assets.zip",
|
|
"./tvOS/Info.plist"
|
|
]
|
|
)
|
|
ensure_git_status_clean
|
|
git_pull
|
|
sh("git log -1")
|
|
app_store_build_number(
|
|
app_identifier: "com.libretro.dist.RetroArch",
|
|
platform: "appletvos",
|
|
username: "libretro@gmail.com",
|
|
team_id: "118576492",
|
|
live: true
|
|
)
|
|
latest_testflight_build_number(
|
|
app_identifier: "com.libretro.dist.RetroArch",
|
|
platform: "appletvos",
|
|
username: "libretro@gmail.com",
|
|
team_id: "118576492"
|
|
)
|
|
next_version_number = lane_context[SharedValues::LATEST_TESTFLIGHT_VERSION]
|
|
if lane_context[SharedValues::LATEST_VERSION] == lane_context[SharedValues::LATEST_TESTFLIGHT_VERSION]
|
|
version_array = next_version_number.split(".").map(&:to_i)
|
|
version_array[-1] = version_array[-1] + 1
|
|
next_version_number = version_array.join(".")
|
|
end
|
|
# can't use update_build_number/agvtool to update this as it
|
|
# doesn't deal with multiple projects in the same folder
|
|
update_info_plist(
|
|
plist_path: "tvOS/Info.plist",
|
|
block: proc do |plist|
|
|
plist["CFBundleVersion"] = (lane_context[SharedValues::LATEST_TESTFLIGHT_BUILD_NUMBER] + 1).to_s
|
|
plist["CFBundleShortVersionString"] = next_version_number
|
|
end
|
|
)
|
|
update_code_signing_settings(
|
|
targets: "RetroArchTV",
|
|
use_automatic_signing: false,
|
|
path: "RetroArch_iOS13.xcodeproj",
|
|
team_id: "UK699V5ZS8",
|
|
code_sign_identity: "iPhone Distribution",
|
|
sdk: "appletvos*",
|
|
profile_name: "tvOS App Store"
|
|
)
|
|
update_code_signing_settings(
|
|
targets: "RetroArchTopShelfExtension",
|
|
use_automatic_signing: false,
|
|
path: "RetroArch_iOS13.xcodeproj",
|
|
team_id: "UK699V5ZS8",
|
|
bundle_identifier: "com.libretro.dist.RetroArch.RetroArchTopShelfExtension",
|
|
code_sign_identity: "iPhone Distribution",
|
|
sdk: "appletvos*",
|
|
profile_name: "tvOS Top Shelf App Store"
|
|
)
|
|
build_app(
|
|
workspace: "RetroArch.xcworkspace",
|
|
scheme: "RetroArch tvOS Release",
|
|
xcconfig: "iOS/AppStore.xcconfig",
|
|
xcodebuild_formatter: 'xcbeautify --renderer github-actions',
|
|
buildlog_path: "buildlog",
|
|
export_options: {
|
|
provisioningProfiles: {
|
|
"com.libretro.dist.RetroArch" => "tvOS App Store",
|
|
"com.libretro.dist.RetroArch.RetroArchTopShelfExtension" => "tvOS Top Shelf App Store"
|
|
}
|
|
}
|
|
)
|
|
upload_to_testflight(
|
|
distribute_external: true,
|
|
groups: ['Invaders', 'Patreons'],
|
|
changelog: "Rebuild frontend from latest master branch and take latest build of all cores."
|
|
)
|
|
end
|
|
end
|