Tajuk: GitHub Actions Pulih Tetapi Pembaikan Manual Diperlukan

GitHub Actions kembali dalam talian pada jam 02:04 UTC pada 7 Ogos. Gangguan tersebut meninggalkan rentetan acara push dan pull-request yang tidak pernah berjalan, jadi pembangun perlu menjalankan semula proses tersebut secara manual.

Halaman status kini menunjukkan warna hijau, tetapi mana-mana workflow yang sepatutnya bermula semasa gangguan tersebut tetap tidak berjalan. Oleh kerana GitHub tidak dapat memainkan semula pencetus (trigger) yang terlepas secara automatik, pasukan mesti melakukan push komit baharu, mengemas kini pull request, atau klik Re-run jobs pada UI. Pengguna open-source Actions Runner Controller juga perlu menyemak sama ada runner pods tersangkut dalam keadaan pegun (idle).

Apa yang berlaku dan mengapa ia penting

GitHub Actions memacu saluran paip (pipeline) CI bagi berjuta-juta repositori. Apabila ia terhenti, perubahan kod akan terbiar, set ujian tidak berjalan, dan pelancaran (deployment) tertangguh. Pada 7 Ogos, perkhidmatan tersebut berhenti memproses kedua-dua acara push (komit baharu) dan acara pull-request (kemas kini semakan), iaitu dua pencetus CI yang paling biasa.

Cara memulihkan saluran paip anda

  1. Push komit baharu – sebarang perubahan pada cawangan (branch) akan mencetuskan semula pencetus push.
  2. Kemas kini pull request – tambah komen, tukar tajuk, atau lakukan push lebih banyak komit untuk mencetuskan semula workflow PR.
  3. Jalankan semula workflow secara manual – UI Actions kini memaparkan butang “Re-run jobs” untuk setiap larian yang gagal.

Jika anda menjalankan self-hosted runners melalui Actions Runner Controller, periksa runner pods anda. Sesetengahnya mungkin kekal pegun selepas perkhidmatan kembali pulih; mulakan semula atau lancarkan semula (redeploy) mereka.

Kesan kepada pasukan

  • Kehilangan produktiviti – pembangun terpaksa menunggu maklum balas yang biasanya diterima dalam beberapa minit.
  • Kelewatan pelancaran – mana-mana saluran paip yang mengawal selia (gating) sesuatu pelancaran boleh menunda tarikh penghantaran.
  • Beban operasi – pasukan mesti menyemak larian terkini, mengenal pasti jurang, dan melaksanakan langkah manual di atas, yang akan mengambil masa daripada kerja pembangunan ciri (feature work).

Rumusan: Gangguan ini menunjukkan bahawa walaupun perkhidmatan CI yang matang boleh kehilangan tugasan, dan memainkan semula secara automatik tidak dijamin. Masukkan langkah pemulihan manual ke dalam buku panduan tindak balas insiden (incident-response playbooks) anda dan perhatikan langkah GitHub seterusnya ke arah pengendalian acara yang lebih berdaya tahan.