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/