CodeBlanks Logo Icon CodeBlanks

Status check

Durum kontrolü zorunluluğunu öğrenirsin.

Status check nedir?

Status check, bir pull request'in belirli otomatik kontrollerden geçip geçmediğini gösteren sonuçtur. GitHub Actions gibi CI araçları testlerin ve diğer doğrulamaların başarılı veya başarısız olduğunu bildirir. Korunan bir dalda bu kontrollerin başarılı olması birleştirme şartı yapılabilir.

test:
  result: success
build:
  result: success

Böylece başarısız testleri bulunan değişikliklerin ana dala ulaşması engellenebilir.

Zorunlu kontrol seçimi

GitHub dal koruma ayarlarında hangi status check sonuçlarının zorunlu olacağını seçebilirsin. Örneğin test adlı CI işi başarılı olmadan pull request birleştirilemez. Kontrol adının CI tarafından raporlanan adla eşleşmesi gerekir.

required_status_checks:
  strict: true
  contexts:
    - test

strict: true, dalın güncel hedef dal ile uyumlu olmasını da zorunlu tutar; böylece hedef dalın gerisinde kalan değişiklikler yeniden doğrulanabilir.

Uygulama Test kontrolünü zorunlu yap

main dalı için required_status_checks bölümünü oluştur. strict değerini true yap ve contexts listesine test kontrolünü ekle.

Başlangıç kodu

terminal
# Zorunlu durum kontrollerini ekle
# Güncellik şartını etkinleştir
# Kontrol listesini oluştur

Örnek çözüm

terminal
main:
  required_status_checks:
    strict: true
    contexts:
      - test

Beklenen çıktı

test kontrolü zorunlu hale getirildi.

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bir pull request'te zorunlu test kontrolü başarısız olursa ne olur?

  • Test sonucu otomatik olarak başarılı olur
  • Pull request otomatik olarak silinir
  • Git deposu kapatılır
  • Birleştirme şartı karşılanmaz Doğru cevap

Açıklama: Zorunlu status check başarısız olduğunda gerekli koşul sağlanmadığı için birleştirme engellenir.

2 Zorunlu kontrol adını belirt

Soru
required_status_checks:
  strict: true
  contexts:
    - ____
Cevap
required_status_checks:
  strict: true
  contexts:
    - test

Açıklama: <code>contexts</code> listesinde <code>test</code> bulunması, aynı isimle raporlanan kontrolün başarılı olmasını zorunlu kılar.

3 Status check bileşenleri

Kavram Anlamı
Status check Otomatik kontrol sonucudur
CI Test ve derleme yapar
contexts Zorunlu kontrol adlarını tutar
strict Hedef dalla güncelliği ister

İleri seviye bölümündeki tüm dersler