gaji – Viết GitHub Actions an toàn bằng TS, kèm cả codegen
(gaji.gaebalgom.work)Gần đây tôi có dịp xử lý vài chục GitHub Actions. Lúc đó tôi nhận ra 3 vấn đề sau.
- YAML là ngôn ngữ biểu diễn dữ liệu, không phù hợp để biểu diễn hành vi.
- Không có kiểm tra kiểu. Có nhiều trường hợp phải phụ thuộc vào kho bên ngoài (
actions/checkout@v5cũng là một kho bên ngoài), nhưng hoàn toàn không có xác thực nào cho các đầu vào mà chúng yêu cầu. Người dùng phải tự xem tài liệu và nhập thủ công từng giá trị đúng theo định dạng. - Khó tái hiện ở môi trường cục bộ.
gaji giải quyết vấn đề số 1 và số 2. Nó tự động lấy action.yml từ các action đang sử dụng và chuyển đổi chúng thành các kiểu TypeScript. Dựa trên đó, bạn có thể viết workflow ngay trong TS, rồi biên dịch để thu được tệp YAML.
Nếu bạn muốn biết thêm về động cơ tạo ra công cụ này và chi tiết về 3 vấn đề trên, hãy tham khảo Vì sao là gaji? - Viết GitHub Actions an toàn bằng TS để biết thêm.
Chưa có bình luận nào.