mirror of
https://github.com/bitwarden/ios.git
synced 2025-12-11 03:37:34 -06:00
[BRE-1281] Enhance ios release notes formatting (#2103)
This commit is contained in:
parent
d26d553766
commit
f320035d6a
13
.github/workflows/publish-store.yml
vendored
13
.github/workflows/publish-store.yml
vendored
@ -110,7 +110,6 @@ jobs:
|
|||||||
|
|
||||||
- name: Upload app to with Fastlane
|
- name: Upload app to with Fastlane
|
||||||
id: publish
|
id: publish
|
||||||
if: ${{ inputs.dry-run == false }}
|
|
||||||
env:
|
env:
|
||||||
VERSION_CODE: ${{ inputs.build-number }}
|
VERSION_CODE: ${{ inputs.build-number }}
|
||||||
VERSION_NAME: ${{inputs.build-version}}
|
VERSION_NAME: ${{inputs.build-version}}
|
||||||
@ -119,7 +118,16 @@ jobs:
|
|||||||
CHANGELOG: ${{ inputs.changelog }}
|
CHANGELOG: ${{ inputs.changelog }}
|
||||||
FASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS: true
|
FASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS: true
|
||||||
SUBMIT_RELEASE: ${{ inputs.submit-release }}
|
SUBMIT_RELEASE: ${{ inputs.submit-release }}
|
||||||
|
DRY_RUN: ${{ inputs.dry-run }}
|
||||||
run: |
|
run: |
|
||||||
|
if [ "$DRY_RUN" = "true" ]; then
|
||||||
|
echo "🧪 DRY RUN MODE - Testing without actual App Store submission"
|
||||||
|
echo "📦 Would publish build $VERSION_CODE to iOS App Store"
|
||||||
|
else
|
||||||
|
echo "🚀 PRODUCTION MODE - Publishing to iOS App Store"
|
||||||
|
echo "📦 Publishing build $VERSION_CODE to iOS App Store"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$PRODUCT" = "Password Manager" ]; then
|
if [ "$PRODUCT" = "Password Manager" ]; then
|
||||||
PACKAGE_NAME="com.8bit.bitwarden"
|
PACKAGE_NAME="com.8bit.bitwarden"
|
||||||
METADATA_PATH="metadata_bwpm_prod"
|
METADATA_PATH="metadata_bwpm_prod"
|
||||||
@ -139,7 +147,8 @@ jobs:
|
|||||||
app_identifier:"$PACKAGE_NAME" \
|
app_identifier:"$PACKAGE_NAME" \
|
||||||
changelog:"$CHANGELOG" \
|
changelog:"$CHANGELOG" \
|
||||||
metadata_path:"$METADATA_PATH" \
|
metadata_path:"$METADATA_PATH" \
|
||||||
submit_release:"$SUBMIT_RELEASE"
|
submit_release:"$SUBMIT_RELEASE" \
|
||||||
|
dry_run:"$DRY_RUN"
|
||||||
|
|
||||||
- name: Enable Publish Github Release Workflow
|
- name: Enable Publish Github Release Workflow
|
||||||
if: ${{ steps.publish.conclusion == 'success' }}
|
if: ${{ steps.publish.conclusion == 'success' }}
|
||||||
|
|||||||
@ -452,11 +452,26 @@ platform :ios do |options|
|
|||||||
desc "Submit iOS app to the App Store"
|
desc "Submit iOS app to the App Store"
|
||||||
lane :release_to_production do |options|
|
lane :release_to_production do |options|
|
||||||
|
|
||||||
changelog = options[:changelog]
|
changelog = options[:changelog] || "Bug fixes and improvements"
|
||||||
|
is_dry_run = options[:dry_run] == "true" || options[:dry_run] == true
|
||||||
|
|
||||||
|
formatted_changelog = changelog
|
||||||
|
.split('.')
|
||||||
|
.map(&:strip)
|
||||||
|
.reject(&:empty?)
|
||||||
|
.map { |item| "• #{item.gsub(/\A(?:•|\u2022)\s*/, '')}" }
|
||||||
|
.join("\n")
|
||||||
|
|
||||||
auth_locales = ["en-US"]
|
auth_locales = ["en-US"]
|
||||||
pw_manager_locales = ["ca", "zh-Hans", "zh-Hant", "hr", "cs", "da", "nl-NL", "en-US", "fi", "fr-FR", "de-DE", "id", "it", "ja", "ko", "no", "pl", "pt-PT", "pt-BR", "ro", "ru", "sk", "es-ES", "es-MX", "sv", "tr", "uk", "vi"]
|
pw_manager_locales = ["ca", "zh-Hans", "zh-Hant", "hr", "cs", "da", "nl-NL", "en-US", "fi", "fr-FR", "de-DE", "id", "it", "ja", "ko", "no", "pl", "pt-PT", "pt-BR", "ro", "ru", "sk", "es-ES", "es-MX", "sv", "tr", "uk", "vi"]
|
||||||
metadata_path = options[:metadata_path]
|
metadata_path = options[:metadata_path]
|
||||||
|
|
||||||
|
if is_dry_run
|
||||||
|
UI.header("🧪 DRY RUN: Testing iOS App Store submission")
|
||||||
|
else
|
||||||
|
UI.header("🚀 Publishing iOS app to App Store")
|
||||||
|
end
|
||||||
|
|
||||||
if options[:app_identifier] == "com.bitwarden.authenticator"
|
if options[:app_identifier] == "com.bitwarden.authenticator"
|
||||||
locales = auth_locales
|
locales = auth_locales
|
||||||
else
|
else
|
||||||
@ -466,7 +481,7 @@ platform :ios do |options|
|
|||||||
locales.each do |locale|
|
locales.each do |locale|
|
||||||
dir = "#{metadata_path}/#{locale}"
|
dir = "#{metadata_path}/#{locale}"
|
||||||
FileUtils.mkdir_p(dir)
|
FileUtils.mkdir_p(dir)
|
||||||
File.write("#{dir}/release_notes.txt", changelog)
|
File.write("#{dir}/release_notes.txt", formatted_changelog)
|
||||||
end
|
end
|
||||||
|
|
||||||
notes = locales.each_with_object({}) do |locale, hash|
|
notes = locales.each_with_object({}) do |locale, hash|
|
||||||
@ -478,6 +493,16 @@ platform :ios do |options|
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if is_dry_run
|
||||||
|
UI.important("🧪 DRY RUN MODE - Skipping actual App Store Connect submission")
|
||||||
|
UI.message("✅ Validation passed")
|
||||||
|
UI.message("✅ Release notes prepared for #{locales.count} locales")
|
||||||
|
UI.message("✅ Release notes: ")
|
||||||
|
UI.message("#{formatted_changelog}")
|
||||||
|
UI.success("🎯 DRY RUN COMPLETE - Everything looks ready for production!")
|
||||||
|
next # ← EXITS HERE in dry run
|
||||||
|
end
|
||||||
|
|
||||||
deliver(
|
deliver(
|
||||||
force: true,
|
force: true,
|
||||||
app_identifier: options[:app_identifier],
|
app_identifier: options[:app_identifier],
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user