Compare commits
3 Commits
release/v1
...
release/v1
| Author | SHA1 | Date | |
|---|---|---|---|
| 477921563f | |||
| 0fca0e93ec | |||
| f977f9943c |
@@ -86,6 +86,7 @@ jobs:
|
|||||||
keychain_password="$(uuidgen)"
|
keychain_password="$(uuidgen)"
|
||||||
keychain_path="${HOME}/Library/Keychains/${SIGNING_KEYCHAIN}.keychain-db"
|
keychain_path="${HOME}/Library/Keychains/${SIGNING_KEYCHAIN}.keychain-db"
|
||||||
previous_default_keychain="$(security default-keychain -d user | sed 's/[ "]//g' || true)"
|
previous_default_keychain="$(security default-keychain -d user | sed 's/[ "]//g' || true)"
|
||||||
|
developer_dir="$(xcode-select -p)"
|
||||||
mkdir -p "${HOME}/Library/Keychains" "${HOME}/Library/MobileDevice/Provisioning Profiles" ios/build/secrets
|
mkdir -p "${HOME}/Library/Keychains" "${HOME}/Library/MobileDevice/Provisioning Profiles" ios/build/secrets
|
||||||
|
|
||||||
printf '%s' "${APPSTORE_CERTIFICATES_FILE_BASE64}" | base64 --decode > ios/build/secrets/appstore-signing.p12
|
printf '%s' "${APPSTORE_CERTIFICATES_FILE_BASE64}" | base64 --decode > ios/build/secrets/appstore-signing.p12
|
||||||
@@ -105,9 +106,11 @@ jobs:
|
|||||||
security import ios/build/secrets/appstore-signing.p12 \
|
security import ios/build/secrets/appstore-signing.p12 \
|
||||||
-k "${keychain_path}" \
|
-k "${keychain_path}" \
|
||||||
-P "${APPSTORE_CERTIFICATES_PASSWORD}" \
|
-P "${APPSTORE_CERTIFICATES_PASSWORD}" \
|
||||||
|
-A \
|
||||||
-T /usr/bin/codesign \
|
-T /usr/bin/codesign \
|
||||||
-T /usr/bin/security \
|
-T /usr/bin/security \
|
||||||
-T /usr/bin/xcodebuild
|
-T /usr/bin/xcodebuild \
|
||||||
|
-T "${developer_dir}/usr/bin/xcodebuild"
|
||||||
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "${keychain_password}" "${keychain_path}"
|
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "${keychain_password}" "${keychain_path}"
|
||||||
security find-identity -v -p codesigning "${keychain_path}"
|
security find-identity -v -p codesigning "${keychain_path}"
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -55,6 +55,26 @@ def app_project_settings
|
|||||||
YAML.safe_load(File.read(APP_SPEC)).fetch("targets").fetch(TARGET).fetch("settings").fetch("base")
|
YAML.safe_load(File.read(APP_SPEC)).fetch("targets").fetch(TARGET).fetch("settings").fetch("base")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def apply_release_signing_settings
|
||||||
|
require "xcodeproj"
|
||||||
|
|
||||||
|
project = Xcodeproj::Project.open(PROJECT_FILE)
|
||||||
|
target = project.targets.find { |candidate| candidate.name == TARGET }
|
||||||
|
UI.user_error!("Could not find target #{TARGET} in #{PROJECT_FILE}") unless target
|
||||||
|
|
||||||
|
target.build_configurations.each do |configuration|
|
||||||
|
next unless configuration.name == "Release"
|
||||||
|
|
||||||
|
settings = configuration.build_settings
|
||||||
|
settings["CODE_SIGN_STYLE"] = "Manual"
|
||||||
|
settings["DEVELOPMENT_TEAM"] = TEAM_ID
|
||||||
|
settings["PROVISIONING_PROFILE_SPECIFIER"] = PROFILE_SPECIFIER
|
||||||
|
settings["CODE_SIGN_IDENTITY"] = XCODE_CODE_SIGN_IDENTITY
|
||||||
|
settings["CODE_SIGN_IDENTITY[sdk=iphoneos*]"] = XCODE_CODE_SIGN_IDENTITY
|
||||||
|
end
|
||||||
|
project.save
|
||||||
|
end
|
||||||
|
|
||||||
def local_marketing_version
|
def local_marketing_version
|
||||||
app_project_settings.fetch("MARKETING_VERSION").to_s
|
app_project_settings.fetch("MARKETING_VERSION").to_s
|
||||||
end
|
end
|
||||||
@@ -404,6 +424,7 @@ platform :ios do
|
|||||||
UI.user_error!("Build number must be a positive integer") unless build_number.match?(/\A[1-9]\d*\z/)
|
UI.user_error!("Build number must be a positive integer") unless build_number.match?(/\A[1-9]\d*\z/)
|
||||||
|
|
||||||
sh("xcodegen --spec #{PROJECT_SPEC.shellescape}")
|
sh("xcodegen --spec #{PROJECT_SPEC.shellescape}")
|
||||||
|
apply_release_signing_settings
|
||||||
|
|
||||||
xcode_args = [
|
xcode_args = [
|
||||||
xcode_build_setting("MARKETING_VERSION", version),
|
xcode_build_setting("MARKETING_VERSION", version),
|
||||||
@@ -411,8 +432,7 @@ platform :ios do
|
|||||||
xcode_build_setting("CODE_SIGN_STYLE", "Manual"),
|
xcode_build_setting("CODE_SIGN_STYLE", "Manual"),
|
||||||
xcode_build_setting("DEVELOPMENT_TEAM", TEAM_ID),
|
xcode_build_setting("DEVELOPMENT_TEAM", TEAM_ID),
|
||||||
xcode_build_setting("PROVISIONING_PROFILE_SPECIFIER", PROFILE_SPECIFIER),
|
xcode_build_setting("PROVISIONING_PROFILE_SPECIFIER", PROFILE_SPECIFIER),
|
||||||
xcode_build_setting("CODE_SIGN_IDENTITY", XCODE_CODE_SIGN_IDENTITY),
|
xcode_build_setting("CODE_SIGN_IDENTITY", XCODE_CODE_SIGN_IDENTITY)
|
||||||
xcode_build_setting("CODE_SIGN_IDENTITY[sdk=iphoneos*]", XCODE_CODE_SIGN_IDENTITY)
|
|
||||||
]
|
]
|
||||||
if present?(ENV["SYBIL_SIGNING_KEYCHAIN_PATH"])
|
if present?(ENV["SYBIL_SIGNING_KEYCHAIN_PATH"])
|
||||||
xcode_args << xcode_build_setting("OTHER_CODE_SIGN_FLAGS", "--keychain #{ENV.fetch("SYBIL_SIGNING_KEYCHAIN_PATH")}")
|
xcode_args << xcode_build_setting("OTHER_CODE_SIGN_FLAGS", "--keychain #{ENV.fetch("SYBIL_SIGNING_KEYCHAIN_PATH")}")
|
||||||
|
|||||||
Reference in New Issue
Block a user