gaji – เขียน GitHub Actions อย่างปลอดภัยด้วย TS พร้อมโค้ดเจน
(gaji.gaebalgom.work)ช่วงหลังมานี้ผมมีงานที่ต้องจัดการกับ GitHub Actions หลายสิบตัว และตอนนั้นก็รู้สึกถึงปัญหาอยู่ 3 ข้อ
- YAML เป็นภาษาสำหรับแสดงข้อมูล จึงไม่เหมาะกับการแสดงพฤติกรรมการทำงาน
- ไม่มีการตรวจสอบชนิดข้อมูล มีหลายกรณีที่ต้องพึ่งพารีโพภายนอก (
actions/checkout@v5เองก็เป็นรีโพภายนอก) แต่ไม่มีการตรวจสอบเลยว่ารับอินพุตแบบใด ผู้ใช้ต้องไปอ่านเอกสารแล้วกรอกค่าให้ตรงรูปแบบด้วยตัวเองทีละอย่าง - ทำซ้ำให้เกิดขึ้นบนเครื่องโลคัลได้ยาก
gaji แก้ปัญหาข้อ 1 และ 2 โดยจะดึง action.yml จากแอ็กชันที่ใช้งานมาโดยอัตโนมัติ แล้วแปลงเป็นชนิดข้อมูล TypeScript จากนั้นจึงสามารถเขียนเวิร์กโฟลว์บน TS ได้ และคอมไพล์ออกมาเป็นไฟล์ YAML
หากอยากทราบรายละเอียดเกี่ยวกับแรงจูงใจในการสร้าง รวมถึงปัญหาทั้ง 3 ข้อนี้เพิ่มเติม โปรดดู ทำไมต้อง gaji? - เขียน GitHub Actions อย่างปลอดภัยด้วย TS
ยังไม่มีความคิดเห็น