ช่วงหลังมานี้ผมมีงานที่ต้องจัดการกับ GitHub Actions หลายสิบตัว และตอนนั้นก็รู้สึกถึงปัญหาอยู่ 3 ข้อ

  1. YAML เป็นภาษาสำหรับแสดงข้อมูล จึงไม่เหมาะกับการแสดงพฤติกรรมการทำงาน
  2. ไม่มีการตรวจสอบชนิดข้อมูล มีหลายกรณีที่ต้องพึ่งพารีโพภายนอก (actions/checkout@v5 เองก็เป็นรีโพภายนอก) แต่ไม่มีการตรวจสอบเลยว่ารับอินพุตแบบใด ผู้ใช้ต้องไปอ่านเอกสารแล้วกรอกค่าให้ตรงรูปแบบด้วยตัวเองทีละอย่าง
  3. ทำซ้ำให้เกิดขึ้นบนเครื่องโลคัลได้ยาก

gaji แก้ปัญหาข้อ 1 และ 2 โดยจะดึง action.yml จากแอ็กชันที่ใช้งานมาโดยอัตโนมัติ แล้วแปลงเป็นชนิดข้อมูล TypeScript จากนั้นจึงสามารถเขียนเวิร์กโฟลว์บน TS ได้ และคอมไพล์ออกมาเป็นไฟล์ YAML

หากอยากทราบรายละเอียดเกี่ยวกับแรงจูงใจในการสร้าง รวมถึงปัญหาทั้ง 3 ข้อนี้เพิ่มเติม โปรดดู ทำไมต้อง gaji? - เขียน GitHub Actions อย่างปลอดภัยด้วย TS

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น