Skip to content

Commit 5b71461

Browse files
graycreateclaude
andauthored
ci: optimize pipeline triggers and release workflow (#75)
Changes: - CI pipeline now only triggers on pull_request (removed push to main/develop) - Release workflow: skip waiting for build processing to avoid timeout issues - Release workflow: remove auto-distribution to beta channel TestFlight - Distribution to testers can be done manually using: fastlane distribute_beta This aligns with ULPB-iOS pipeline configuration for more reliable CI/CD. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude <[email protected]>
1 parent 69f9222 commit 5b71461

File tree

2 files changed

+15
-25
lines changed

2 files changed

+15
-25
lines changed

.github/workflows/ci.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@ on:
44
pull_request:
55
branches: [main]
66
types: [opened, synchronize, reopened]
7-
push:
8-
branches: [main, develop]
97
workflow_dispatch:
108

119
concurrency:

fastlane/Fastfile

Lines changed: 15 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -163,35 +163,27 @@ platform :ios do
163163
# Build the app
164164
build_ipa
165165

166-
# Extract changelog for the current version
167-
changelog_content = ChangelogHelper.extract_changelog(current_version)
168-
169166
# Upload to TestFlight
167+
# NOTE: We skip waiting for build processing to avoid timeout issues.
168+
# Apple's build processing can take 5-30 minutes, which often exceeds reasonable timeout limits.
169+
# Distribution to testers can be done after processing completes using: fastlane distribute_beta
170170
upload_to_testflight(
171171
api_key: api_key,
172172
skip_submission: false,
173-
skip_waiting_for_build_processing: false, # Wait for processing before distribution
174-
wait_processing_interval: 30, # Check every 30 seconds
175-
wait_processing_timeout_duration: 900, # Wait up to 15 minutes for processing
176-
distribute_external: true, # Distribute to external testers (public beta)
177-
distribute_only: false, # Upload and distribute in one action
178-
groups: ["Public Beta", "External Testers", "Beta Testers"], # Public beta groups
179-
changelog: changelog_content, # Use changelog from CHANGELOG.md
180-
notify_external_testers: true, # Send email notifications to external testers
181-
uses_non_exempt_encryption: false, # Required for automatic distribution
182-
submit_beta_review: true, # Automatically submit for Beta review
183-
beta_app_description: "V2er is an elegant third-party client for V2EX forum",
184-
beta_app_feedback_email: "[email protected]",
185-
demo_account_required: false, # No demo account required
186-
beta_app_review_info: {
187-
contact_email: "[email protected]",
188-
contact_first_name: "V2er",
189-
contact_last_name: "Support",
190-
contact_phone: "+86 13800138000",
191-
notes: "This is a third-party client app for V2EX forum. No special account needed for testing."
192-
}
173+
skip_waiting_for_build_processing: true, # Don't wait - avoid timeout issues
174+
distribute_external: false, # Can't distribute until Apple finishes processing
175+
uses_non_exempt_encryption: false
176+
# NOTE: changelog parameter intentionally omitted
177+
# Even with skip_waiting_for_build_processing: true, providing a changelog
178+
# causes fastlane to wait for the build to appear in App Store Connect,
179+
# which defeats the purpose of skipping. Changelog can be added manually
180+
# in App Store Connect or when distributing with: fastlane distribute_beta
193181
)
194182

183+
UI.success("✅ Build uploaded successfully to TestFlight!")
184+
UI.important("📦 Build will be available for testing once Apple finishes processing (usually 5-30 minutes)")
185+
UI.important("🔔 You can distribute to testers using: fastlane distribute_beta")
186+
195187
# Notify success
196188
notification(
197189
title: "V2er iOS",

0 commit comments

Comments
 (0)