GitHub Actions Node 20 Desteğini Kaldırdı: Node 24 Zorunlu
GitHub Actions koşucularında (runner) Node 20 artık yok. JavaScript tabanlı aksiyonlar bundan böyle Node 24 üzerinde çalışıyor, geçiş sürecinde sunulan geçici geri dönüş yöntemi de kapatıldı. Kendi JavaScript aksiyonunu yayımlayan ekipler için bu, action.yml dosyasında tek satırlık ama zorunlu bir güncelleme demek; iş akışlarında üçüncü taraf aksiyon kullananların ise sürüm sabitlemelerini gözden geçirmesi gerekiyor.
Değişikliğin özeti
GitHub, konuyla ilgili son bildirimiyle Node 20’nin Actions koşucularından kaldırıldığını duyurdu. Üç temel nokta öne çıkıyor:
- Koşucular JavaScript aksiyonları için artık Node 24 kullanıyor.
- Geçiş döneminde eski çalışma zamanına dönmeyi sağlayan geçici
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSIONdevre dışı bırakma seçeneği artık mevcut değil. - Değişiklik hem github.com hem de GitHub with Data Residency için geçerli.
Burada kritik olan, kaçış yolunun kapanmış olması. Daha önce duyurulan kullanımdan kaldırma sürecinde bu ortam değişkeni, Node 24’e hazır olmayan aksiyonlara bir süre pay tanıyordu. Artık öyle bir tampon yok; Node 20’ye bağımlı bir aksiyon, çalıştığı koşucuda beklediği çalışma zamanını bulamayacak.
JavaScript aksiyonu geliştiriyorsanız
Bir JavaScript aksiyonunun bakımını üstleniyorsanız aksiyon meta verisindeki runs.using değerini node24 olarak güncelleyin ve mümkün olan en kısa sürede yeni bir sürüm yayımlayın. GitHub, bu alanın kullanımına dair ayrıntılar için JavaScript aksiyonları için meta veri söz dizimi belgesine yönlendiriyor.
Yeni sürümü yayımlamak şart, çünkü aksiyonunuzu kullanan iş akışlarının çoğu etiket ya da sürüm referansıyla bağlanıyor. Depo içinde runs.using değerini değiştirmek tek başına yetmiyor, kullanıcıların referans verdiği sürümün de bu değişikliği içermesi gerekiyor. Yoksa alt tarafta yer alan iş akışları, güncellenmemiş eski bir sürümü çekmeye devam eder.
Bu aşamada yalnızca meta veri satırını değiştirip geçmek yerine, aksiyonun kendi bağımlılıklarının ve paketlenmiş çıktısının Node 24 ile uyumlu olduğunu doğrulamak da mantıklı. GitHub duyurusu uyumluluk testine dair ayrı bir yönerge vermiyor; ama çalışma zamanı sürümü değiştiğine göre, yayımlamadan önce aksiyonun gerçek bir iş akışında çalıştığını görmek en doğrudan kontrol yöntemi.
İş akışlarında aksiyon kullanıyorsanız
Kendi aksiyonunuzu yazmıyor, yalnızca hazır JavaScript aksiyonlarını çağırıyorsanız bu aksiyonların Node 24’ü destekleyen en güncel sürümlerine geçmeniz gerekiyor. Sürüm referanslarının nasıl kullanılacağı, aksiyonlarda sürüm kullanımıyla ilgili iş akışı söz dizimi belgesinde açıklanıyor.
Pratikte en çok sorun çıkaracak yerler, eski bir majör etikete ya da sabit bir commit SHA’sına pinlenmiş adımlar. Sabitleme tedarik zinciri güvenliği açısından yararlı bir alışkanlık ama böyle bir çalışma zamanı geçişinde sabitlenen referansı da elle ileri taşımak gerekiyor. Depolarınızda kullandığınız aksiyonların listesini çıkarıp her birinin Node 24 destekleyen sürümünü belirlemek, bu geçişte en yüksek getirili iş.
GitHub’ın kendi aksiyonları
GitHub, birinci taraf (first-party) aksiyonların en yeni sürümlerinin Node 24 kullanacak şekilde güncellendiğini belirtiyor, bunun için de daha önce yayımladığı kullanımdan kaldırma duyurusuna referans veriyor. Yani actions/ altındaki resmi aksiyonlar için çözüm, güncel sürümlere yükselmekten ibaret. Burada da belirleyici olan, iş akışınızda hangi sürüm etiketine referans verdiğiniz.
Self-hosted runner tarafındaki kısıtlar
Bu değişikliğin en dikkat isteyen yani, kendi barındırdığınız koşucularda ortaya çıkıyor. Duyuruya göre Node 24, macOS 13.4 ve daha eski sürümlerle uyumlu değil, ARM32 mimarisini de resmi olarak desteklemiyor. Dolayısıyla bu işletim sistemi sürümlerini veya bu mimariyi kullanan self-hosted koşucular artık desteklenmiyor.
Koşucu filonuzda eski macOS sürümleri ya da 32 bit ARM cihazlar varsa, bu makineleri işletim sistemi yükseltmesi veya donanım/mimari değişikliğiyle planlamanız gerekiyor. Duyuru bu senaryolar için alternatif bir geçici çözüm sunmuyor; desteklenmeyen ortam doğrudan kapsam dışı bırakılmış durumda.
Kısa kontrol listesi
- Bakımını yaptığınız JavaScript aksiyonlarında
runs.usingdeğerininode24yapın ve yeni sürüm yayımlayın. - İş akışlarınızdaki aksiyon referanslarını Node 24 destekleyen güncel sürümlere taşıyın; sabitlenmiş SHA ve eski majör etiketleri ayrıca gözden geçirin.
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSIONdeğişkenini hala tanımlayan yapılandırmalarınız varsa temizleyin; bu seçenek artık işlevsiz.- Self-hosted koşucular arasında macOS 13.4 ve öncesi ile ARM32 kullananları tespit edip yükseltme planı çıkarın.
- Değişikliğin github.com ve GitHub with Data Residency ortamlarının ikisini birden kapsadığını hesaba katın.
Kaynaklar ve İleri Okuma
- Node 20 is no longer available in GitHub Actions — GitHub Changelog
- Deprecation of Node 20 on GitHub Actions runners (önceki duyuru)
- GitHub Actions için meta veri söz dizimi (
runs.using) - GitHub Actions iş akışı söz dizimi
- GitHub Actions 2026 güvenlik yol haritası
- npm ve GitHub Actions’ta tedarik zinciri saldırılarına karşı alınan önlemler







Yorum gönder