Xcode 27 Runner Image ile Apple Silicon’da CI Kurmak
GitHub Actions tarafında Apple uygulaması geliştirenleri ilgilendiren bir değişiklik var: Xcode 27 runner image genel kullanıma (generally available) açıldı. Daha önce public preview aşamasında sunulan, GitHub tarafından barındırılan bu imaj macOS 27 üzerinde çalışıyor, içinde Xcode 27 toolchain ile Apple SDK’leri geliyor. iOS, iPadOS, macOS ve diğer Apple platformlarına yönelik derleme ve test işlerinizi artık Xcode 27’si hazır gelen bir runner üzerinde çalıştırabiliyorsunuz.
Aşağıdakiler kaynaktaki bilgilerle sınırlı: imajın nasıl konumlandığı, hangi etiketlerle çağrıldığı ve mevcut workflow’lar için ne değiştirdiği.
Xcode sürümü merkezli imajlar
Duyuru yalnızca yeni bir Xcode sürümünün eklenmesinden ibaret değil. GitHub, Xcode tabanlı imajlarda bir adlandırma ve kapsam yaklaşımı tanımlıyor: her imaj belirli bir işletim sistemi sürümünü değil, tek bir majör Xcode sürümünü hedefliyor.
Klasik macos-* etiketlerinde seçim ekseni işletim sistemi sürümüydü, o imajda hangi Xcode’un varsayılan olduğu ise ayrıca kontrol edilmesi gereken bir ayrıntıydı. Xcode merkezli imajlarda seçim doğrudan toolchain üzerinden yapılıyor. Kaynakta amaç açıkça belirtiliyor: projenin ihtiyaç duyduğu toolchain’i seçmeyi ve her runner’ın tam olarak neyi sağladığını bilmeyi kolaylaştırmak.
Ekiplere yansıması doğrudan. Bir iOS projesinde kritik olan şey çoğu zaman hangi macOS sürümünde çalıştığınız değil, hangi Xcode ve hangi SDK ile derlendiğinizdir. Etiket bu bilgiyi doğrudan taşıyınca, workflow dosyasını okuyan kişi ek bir belge taramadan derleme ortamını anlıyor.
Kullanım: runs-on etiketleri
İmajı kullanmak için workflow’unuzdaki runs-on değerini şu etiketlerden birine ayarlamanız yeterli:
xcode-27xcode-27-xlarge
Basit bir job tanımı şu şekilde görünür:
jobs:
build:
runs-on: xcode-27
Daha fazla kaynak gerektiren derlemeler için xcode-27-xlarge etiketi kullanılabiliyor. Kaynak metinde bu iki etiketin kaynak profilleri arasındaki farkın teknik ayrıntısı (çekirdek sayısı, bellek, disk gibi) verilmediği için burada tahmin yürütmüyorum. xlarge varyantının daha büyük bir runner sınıfına karşılık geldiği etiket adından ve GitHub’ın mevcut adlandırma düzeninden anlaşılabilir, ama kesin değerler için imaj dokümantasyonuna bakmak gerekir.
Preview’dan GA’ya: mevcut workflow’lar etkilenmiyor
Public preview döneminde bu etiketleri zaten kullanıyorsanız workflow’larınızda herhangi bir değişiklik yapmanız gerekmiyor. Etiket adları aynı kaldı, GA geçişi var olan boru hatlarını bozmadan gerçekleşiyor.
Geçişin pratikteki anlamı şu: imaj artık deneysel bir kanal olarak değil, üretim iş akışları için desteklenen bir seçenek olarak konumlanıyor. Preview aşamasındaki imajları yalnızca ikincil doğrulama job’larında tutan ekipler, ana derleme hattını bu etikete taşımayı değerlendirebilir. Böyle bir geçişte imajın sağladığı araç sürümlerinin projenizin beklentileriyle örtüştüğünü doğrulamak yine sizin sorumluluğunuzda.
Yalnızca Apple Silicon (arm64)
İmaj yalnızca Apple Silicon (arm64) runner’larda mevcut, Intel runner’larda değil. Dikkat edilmesi gereken en önemli kısıt da bu.
Hala x86_64 mimarisine bağımlılığı olan boru hatları için planlama gerektiren bir nokta. Yalnızca Intel mimarisi için derlenmiş ikili bağımlılıklar, mimariye özgü önceden derlenmiş framework’ler ya da arm64 altında çalışmayan yardımcı araçlar kullanan projelerde xcode-27 etiketine geçmeden önce bu bağımlılıkların gözden geçirilmesi gerekir. Kaynakta Intel runner’lar için alternatif bir Xcode 27 imajı sunulduğuna dair bir bilgi yok, dolayısıyla böyle bir senaryoda planlamayı mevcut imaj seçenekleri üzerinden yapmak gerekiyor.
Tersinden bakıldığında, arm64 üzerinde çalışan bir CI ortamı geliştiricilerin Apple Silicon makinelerindeki yerel ortamla mimari açısından daha yakın eşleşiyor. “Benim makinemde derleniyor ama CI’da derlenmiyor” sınıfından mimariye bağlı farkların azalması, bu tarafta beklenebilecek bir kazanım.
Kurulu yazılımları görmek ve sorun bildirmek
İmajda hangi yazılımların kurulu olduğunu görmek veya bir sorun bildirmek için başvurulacak adres GitHub’ın runner-images deposu. Derleme sırasında kullandığınız bir aracın (simülatör sürümleri, komut satırı araçları, paket yöneticileri, dil runtime’ları vb.) imajda bulunup bulunmadığını ve hangi sürümde geldiğini doğrulamak için bu depodaki imaj tanımına bakmak doğru yöntem.
Bu alışkanlık Xcode merkezli imaj yaklaşımıyla birlikte daha da anlam kazanıyor. Etiket size toolchain’in majör sürümünü garanti ediyor, yan araçların tam sürüm listesi içinse tek güvenilir referans imaj tanımının kendisi.
Özetle
Xcode 27 runner image GA oldu; Apple uygulamalarını GitHub Actions üzerinde derleyip test eden ekipler artık macOS 27 tabanlı, Xcode 27 toolchain’i ve Apple SDK’lerini içeren desteklenen bir ortam kullanabiliyor. Giriş noktası xcode-27 ve xcode-27-xlarge etiketleri, preview’dan gelenler için değişiklik gerekmiyor. Tek net kısıt imajın yalnızca Apple Silicon (arm64) runner’larda sunulması. Kurulu yazılım listesi ve sorun bildirimi içinse runner-images deposu başvuru kaynağı olmaya devam ediyor.
Kaynaklar ve İleri Okuma
- Xcode 27 runner image generally available — GitHub Changelog
- actions/runner-images deposu: kurulu yazılım listeleri ve sorun bildirimi
- Azure Pipelines’a Apple Silicon ve Xcode 27 Geldi
- GitHub Actions’da Özel Runner İmajları: Kontrol Artık Sizde!







Yorum gönder