GitHub ได้ทำให้ workflow dependency lockfiles สำหรับ GitHub Actions พร้อมใช้งานทั่วไป (GA) เมื่อวันที่ 28 ตุลาคม 2026 หลังจากที่เข้าสู่ช่วง Public Preview ไปสองสัปดาห์แล้ว
เมื่อมีการใช้งาน ไฟล์ .github/workflows/actions.lock จะสั่งให้ runner ทำงานตาม commit ที่ระบุไว้ แม้ว่าการอ้างอิงเหล่านั้นจะมีการเปลี่ยนแปลงในภายหลังก็ตาม ฟีเจอร์นี้รองรับใน GitHub Enterprise Cloud, Enterprise Cloud with data residency, Team และ Free plans
เครื่องมือสำหรับจัดการฟีเจอร์นี้คือส่วนขยาย actions-lock สำหรับ GitHub CLI ซึ่งอยู่ใน repository gh-actions-lock และทำหน้าที่สร้างและดูแลรักษา lockfile
อย่างไรก็ตาม การใช้ lockfile รับประกันว่าการรันจะใช้ commit ที่ถูกล็อกไว้ แต่ไม่ได้รับประกันว่า commit เหล่านั้นปลอดภัย ดังนั้นจึงควรตรวจสอบ dependencies ก่อนทำการล็อกเสมอ
การเปลี่ยนแปลงสำคัญคือการที่ pull_request_target จะถูกบล็อกโดยค่าเริ่มต้น เริ่มตั้งแต่ 2 ธันวาคม ซึ่งเป็นอีกมาตรการหนึ่งในการจำกัดการเข้าถึงโค้ดที่ไม่น่าเชื่อถือสู่บริบทของ workflow ที่มีสิทธิ์สูง
สำหรับองค์กรที่ต้องการเริ่มต้นใช้งาน ควรเริ่มจาก workflow ที่มีความสำคัญสูง เช่น release หรือ deployment pipeline, เพิ่ม staleness check ใน CI และยืนยันว่าการรวม pull request ของ Dependabot นั้นสอดคล้องกับกระบวนการรีวิวที่มีอยู่ ก่อนที่จะเปิดใช้งานในระดับองค์กร
ก่อนหน้านี้ GitLab ได้นำเสนอนโยบายการรัน pipeline แบบ open-source หลังเหตุการณ์ supply chain ในเดือนมีนาคม 2026 และคำแนะนำ Zero Trust ของ Microsoft สำหรับ Azure Pipelines ก็แนะนำให้ใช้ SHA pinning เช่นกัน
ศัพท์ที่ควรรู้
- GitHub Actions – ระบบอัตโนมัติที่ทำงานบน GitHub สำหรับการทำงานของโค้ด เช่น การทดสอบหรือการ deploy
- Workflow dependency lockfile – ไฟล์ที่ระบุ commit ที่แน่นอน เพื่อให้การรันทำงานซ้ำได้เหมือนเดิมเสมอ
- Runner – ส่วนประกอบที่ทำการรันคำสั่งของ Workflow ตามที่กำหนด
- GitHub CLI – Command Line Interface ที่ช่วยให้ผู้ใช้สามารถสั่งการ GitHub ผ่าน Terminal ได้
- SHA pinning – การตรึงการอ้างอิงด้วยค่าแฮช (Hash) เพื่อให้มั่นใจว่าใช้โค้ดเวอร์ชันนั้นๆ เสมอ
ที่มา: infoq.com