Ota, OrchardCore ile .NET Sözleşmesini Dürüstçe Sınadı
Ota, OrchardCore reposunda dotnet restore'u birinci sınıf bağımlılık adımına çevirip build/test komutlarını yapılandırarak dar ama dürüst bir kapsam kanıtladı.
Ota ekibi, hazırlık sözleşmesi (readiness contract) yaklaşımını gerçek ve büyük bir ASP.NET Core reposu olan OrchardCore üzerinde sınadı. Amaç, kapsamlı bir .NET reposunun tamamını sahiplenmeden, seçilen dar bir birim test projesi diliminde restore, build ve test adımlarını host hem de konteyner ortamlarında dürüstçe kanıtlamaktı.
Bu denemede iki önemli olgunlaşma öne çıktı. İlk olarak, dotnet restore artık tek satırlık bir kabuk komutu değil; bağımlılık hidrasyonu olarak açıkça tanımlanan, kaynağını ve çalışma dizinini belirten yapılandırılmış bir adım haline geldi. İkincisi, dotnet build ve dotnet test komutları da yürütülebilir dosya, argümanlar ve çalışma dizini açıkça ayrıştırılarak yapılandırıldı; böylece native ve konteyner modları aynı komut metnini tekrar etmek yerine yalnızca bağlamı değiştiriyor.
Ota'nın burada kanıtladığı şey dramatik bir hata değil, olgun bir yönetişim biçimiydi: sözleşme, OrchardCore'un tüm çözümünü, fonksiyonel test hatlarını veya belge/varlık akışlarını sahiplenmeye çalışmadı. Bunun yerine tek bir katkı sağlayıcı hazırlık dilimini net biçimde tanımladı ve bunu Ubuntu, macOS ve Windows üzerinde yeşil bir matris çalıştırmasıyla (run #28971743168) doğruladı.
Mühendisler için önemi şu: geniş kapsamı sahiplenmeye çalışan ama gerçekte kanıtlayamayan sözleşmeler yerine, neyi kanıtladığını açıkça sınırlayan bir sözleşme modeli, CI güvenilirliğinde daha sürdürülebilir bir yaklaşım sunuyor.