Lockfile Actions sudah GA: arti centang hijau bisa berbeda
PR bisa tetap menampilkan versi uses yang sama sementara kode di baliknya berubah. Tag dapat dipindahkan ke commit lain. GitHub mengumumkan ketersediaan umum lockfile pada 28 Oktober. Setelah pratinjau, hal yang perlu dipahami adalah bukti yang diberikan setiap pemeriksaan.
Referensi mudah dibaca, commit tetap tercatat
.github/workflows/actions.lock menghubungkan referensi action dengan commit yang dijalankan. Berkas dibuat dengan gh actions-lock untuk Free, Team, dan GitHub Enterprise Cloud termasuk residensi data. Workflow dapat diikutkan satu per satu. Tinjau berkas hasil generator bersama perubahan workflow, alih-alih merakitnya manual.
Dalam contoh rekaan, demo/build@v1 mula-mula menunjuk A lalu B. Resolusi referensi saja dapat memilih kode berbeda saat dijalankan lagi; lockfile memilih commit tercatat. Gambar ini bukan pengujian repositori nyata. Commit yang tidak lagi dapat dicapai dari tag atau branch tercatat bisa ditolak saat eksekusi.

Apa yang dibuktikan pemeriksaan luring?
gh actions-lock --verify-local memeriksa cakupan tanpa jaringan: apakah referensi uses memiliki entri. Cocok sebelum commit, tetapi tidak memverifikasi asal kode. gh actions-lock --verify memeriksanya secara daring, lalu runner memeriksa lagi saat job dimulai. Dua centang hijau itu memiliki makna berbeda.
Jika PR lain menambah action tanpa memperbarui lockfile, pemeriksaan lokal dapat menemukan entri yang hilang. Kelengkapan entri tidak membuktikan asal atau keamanan kode. Gambar kedua merangkum dokumentasi; CLI tidak dipasang atau dijalankan untuk artikel ini.

Workflow pakai ulang memiliki batas repositori
Dependensi action transitif tercakup, tetapi pemanggilan melalui jobs.<job_id>.uses tidak dikunci oleh lockfile. Gunakan SHA commit lengkap untuk panggilan itu. Action internalnya mengikuti lockfile repositori tempat workflow didefinisikan, bukan repositori pemanggil.
Bayangkan repositori aplikasi memanggil workflow deployment dari repositori platform. actions.lock aplikasi saja tidak menunjukkan pin action milik platform. SHA panggilan dan perubahan dependensi platform harus dibaca bersama. Image runner, input, dan secret juga tetap terpisah: commit action tetap tidak membekukan seluruh lingkungan.
Baca dua berkas dalam PR pembaruan
Saat Dependabot memperbarui versi action pada workflow yang telah diikutkan, entri lockfile terkait dibuat ulang dalam PR yang sama. Versi yang mudah dibaca bisa dibandingkan dengan commit sebenarnya. --relock memajukan referensi yang berpindah dan menulis berkas, berbeda dari verifikasi baca saja. Peninjauan kode tetap diperlukan.
Require lockfile dapat mewajibkan adopsi tanpa menghapus batas antarrepositori. Memulai dari satu workflow membantu memahami pembuatan, peninjauan, dan verifikasi daring. Pada centang hijau berikutnya, perhatikan bukti tepatnya: cakupan entri, asal kode, atau peninjauan kode yang dipilih.