Section 6/171 menit
6. Start Conditions dan Branch Strategy
6. Start Conditions dan Branch Strategy
Jenis Start Conditions
Branch Changes — trigger ketika ada push ke branch yang cocok:
swift
Branch: main, develop, release/*
File/Folder restriction: hanya trigger jika file tertentu berubah
├── Sources/ ← trigger jika source berubah
├── Tests/ ← trigger jika test berubah
└── Exclude: *.md, docs/ ← abaikan perubahan dokumentasi
Pull Request Changes — trigger ketika PR dibuat atau diupdate:
swift
Target Branches: main, develop
Source Branch: setiap branch (atau pattern tertentu)
Tag Changes — trigger ketika tag baru dibuat:
swift
Tag Pattern: v*.*.* (semantic versioning)
Scheduled — trigger pada waktu tertentu:
swift
Schedule: Daily at 02:00 UTC
Branch: develop
Manual — trigger dari Xcode atau App Store Connect.
Branch Strategy yang Direkomendasikan
swift
main ← production, trigger: Release workflow (tag only)
develop ← integrasi, trigger: Develop Deploy workflow
feature/* ← development, trigger: PR Validation (saat PR ke develop)
hotfix/* ← perbaikan darurat, trigger: PR Validation + Release
File Restriction untuk Efisiensi
Gunakan file restriction untuk menghindari trigger yang tidak perlu:
swift
Workflow: "PR Validation"
Start Condition: PR ke develop
File Restriction: Changes in:
✓ Sources/
✓ Tests/
✓ *.xcodeproj
✓ *.xcworkspace
✓ Podfile
✓ Package.swift
✗ README.md ← tidak trigger CI hanya karena update docs
✗ docs/
✗ .github/