proposal-system/mobile/fastlane/Fastfile
Adam Moussa e355809b58 Fix OpenSSL 3.x EC key parsing in Fastfile
Fastlane 2.234.0 uses OpenSSL::PKey::EC.new which fails with "invalid
curve name" on PKCS#8 keys under OpenSSL 3.x. Add monkey-patch to fall
back to OpenSSL::PKey.read which handles both formats.
2026-05-18 19:22:46 -04:00

54 lines
1.3 KiB
Ruby

require 'openssl'
# Workaround: fastlane 2.234.0 uses OpenSSL::PKey::EC.new which fails on
# PKCS#8 keys with OpenSSL 3.x ("invalid curve name"). Fallback to PKey.read.
module OpenSSL
module PKey
class EC
class << self
alias_method :_orig_new, :new
def new(*args)
_orig_new(*args)
rescue OpenSSL::PKey::ECError
raise unless args.length == 1 && args[0].is_a?(String)
OpenSSL::PKey.read(args[0])
end
end
end
end
end
default_platform(:ios)
platform :ios do
desc "Build and upload to TestFlight"
lane :beta do
setup_ci
key_content = Base64.decode64(ENV["ASC_KEY_CONTENT"])
app_store_connect_api_key(
key_id: ENV["ASC_KEY_ID"],
issuer_id: ENV["ASC_ISSUER_ID"],
key_content: key_content,
is_key_content_base64: false
)
match(type: "appstore", readonly: true)
increment_build_number(
build_number: ENV["GITHUB_RUN_NUMBER"],
xcodeproj: "ios/ProposalSystem.xcodeproj"
)
build_app(
workspace: "ios/ProposalSystem.xcworkspace",
scheme: "ProposalSystem",
configuration: "Release",
export_method: "app-store",
output_directory: "build",
output_name: "ProposalSystem.ipa"
)
upload_to_testflight(skip_waiting_for_build_processing: true)
end
end