GitHub mengumumkan perubahan kompatibilitas yang penting bagi proyek Apple dan pipeline CI pada 19 Oktober 2026. Mulai Xcode 27 dan macOS 27, CodeQL tidak dapat melakukan traced extraction untuk C/C++, C#, Go, Java, Kotlin, dan Swift. Swift 6.4 juga belum didukung CodeQL di platform mana pun.

Masalahnya bukan sekadar nama versi baru. CodeQL perlu menelusuri proses build untuk memahami bagaimana kode dikompilasi dan menghubungkan aliran data di dalamnya. GitHub menjelaskan bahwa Apple tidak lagi menyertakan kode Intel x86_64 pada sebagian binary dan library sistem di Xcode 27 serta macOS 27. Komponen Intel itu masih dibutuhkan CodeQL untuk melakukan tracing.

Dampaknya terasa pada workflow yang menjalankan analisis keamanan setelah build aplikasi. Jika runner memakai macOS 27 atau memilih Xcode 27, proses traced extraction tidak tersedia untuk bahasa-bahasa yang terdampak. CodeQL tidak serta-merta membuat repositori berhenti dibangun, tetapi pemindaian dapat kehilangan jalur analisis yang biasanya dipakai untuk menemukan kerentanan pada bahasa terkompilasi.

Bukan berarti semua pemindaian mati

Perubahan ini perlu dibaca secara spesifik. GitHub tidak mengatakan bahwa seluruh CodeQL berhenti bekerja di macOS. Yang terdampak adalah traced extraction dan mode build yang bergantung pada proses build, terutama autobuild dan manual untuk bahasa terkompilasi. GitHub menyebut build mode none sebagai jalur yang bisa dipakai untuk C/C++, C#, dan Java karena mode ini tidak memerlukan tracing build.

Pilihan itu bukan pengganti universal. Build mode none tidak memberi CodeQL informasi yang sama dengan analisis yang mengikuti proses kompilasi. Tim perlu memastikan bahwa hasil pemindaian tetap cukup untuk kode dan konfigurasi proyeknya, bukan hanya mengubah satu baris workflow agar status pemeriksaan kembali hijau.

Swift memiliki batas yang lebih ketat. GitHub menyatakan CodeQL belum mendukung Swift 6.4 di platform mana pun. Artinya, memindahkan job ke runner lain tidak otomatis menyelesaikan persoalan jika kode sudah bergantung pada Swift 6.4. Untuk proyek Swift yang memerlukan traced analysis, versi toolchain dan runner perlu diperlakukan sebagai bagian dari konfigurasi keamanan, bukan sekadar detail build.

Pin versi sebelum pipeline berubah diam-diam

Saran GitHub untuk pengguna Actions cukup praktis: pin image runner dan toolchain di workflow, jangan bergantung pada versi terbaru. Dalam workflow GitHub Actions, label seperti macos-latest memang nyaman, tetapi juga membuat perubahan image, macOS, atau Xcode dapat masuk ke pipeline tanpa perubahan eksplisit pada repositori. Untuk proyek yang bergantung pada CodeQL, kestabilan label lebih penting daripada mendapatkan toolchain paling baru pada setiap run.

GitHub menyarankan penggunaan macOS 26 atau lebih lama dan Xcode 26 atau lebih lama bagi workflow yang membutuhkan traced extraction. Peringatan ini berlaku lebih luas daripada sekadar runner hosted GitHub: macOS 27 dapat memicu keterbatasan yang sama pada mesin lain, selama lingkungan tersebut memakai binary dan toolchain yang memiliki batas kompatibilitas serupa.

Perubahan ini juga membuat pinning menjadi pekerjaan lintas lapisan. Menentukan runs-on saja belum cukup jika Xcode dipilih lewat toolchain yang berubah, image memiliki beberapa versi SDK, atau dependency manager mengambil konfigurasi berbeda. Tim sebaiknya mencatat versi macOS, Xcode, Swift, CodeQL Action, dan mode build sebagai satu paket yang diuji bersama.

Mengapa pengumuman ini penting untuk keamanan

CodeQL adalah bagian dari code scanning GitHub, sehingga perubahan kompatibilitas dapat memengaruhi titik ketika masalah keamanan ditemukan. Pipeline yang gagal secara jelas memang mudah ditangani. Pipeline yang tetap selesai tetapi memakai cakupan analisis lebih sempit jauh lebih berisiko karena memberi kesan bahwa pemeriksaan berjalan seperti biasa.

Karena itu, pemilik repositori perlu memeriksa log extraction, bukan hanya hasil akhir job. Periksa apakah CodeQL benar-benar membuat database untuk bahasa yang diharapkan, apakah build mode yang dipakai masih didukung, dan apakah perubahan versi menurunkan jumlah file atau jalur yang dianalisis. Untuk proyek Swift, jangan menyimpulkan dukungan hanya karena compiler berhasil membangun aplikasi. Compiler dan CodeQL menjawab pertanyaan yang berbeda.

GitHub mengatakan dukungan untuk Mac berbasis Intel juga akan ditinggalkan secara bertahap pada pertengahan Desember 2026. Jadwal itu menambah alasan untuk meninjau runner lama, tetapi tidak menghapus kebutuhan untuk memisahkan dua persoalan: arsitektur mesin dan binary sistem yang tersedia untuk tracing.

Langkah paling aman untuk saat ini adalah mempertahankan runner macOS 26 atau lebih lama untuk job CodeQL yang membutuhkan traced extraction, mem-pin Xcode dan Swift, lalu menguji workflow terpisah sebelum migrasi. Xcode 27 tetap dapat dipakai untuk build dan test jika dibutuhkan, tetapi jangan menganggapnya sebagai pengganti drop-in bagi job keamanan yang sebelumnya berjalan di Xcode 26.

Sumber - GitHub Changelog, “CodeQL changes for macOS 27, Xcode 27, and Swift 6.4” (19 Oktober 2026): https://github.blog/changelog/2026-10-19-codeql-changes-for-macos-27-xcode-27-and-swift-6-4/

Sumber tambahan: - GitHub Changelog, “CodeQL 2.27.2 improves C++, Go, Rust, and JavaScript analysis” (9 Oktober 2026): https://github.blog/changelog/2026-10-09-codeql-2-27-2-improves-c-go-rust-and-javascript-analysis/ - GitHub CodeQL Action releases, v4.39.0 (15 Oktober 2026): https://github.com/github/codeql-action/releases/tag/v4.39.0

Gambar: - Ilustrasi editorial orisinal PeDeDe; tidak menggambarkan aset atau peristiwa nyata.