Kiểm tra GitHub Actions Workflow

Dán workflow từ .github/workflows và tìm lỗi trước khi CI báo: trigger không hợp lệ, thiếu runs-on, needs sai, biểu thức lỗi, action lỗi thời và nguy cơ script injection.

Cập nhật
Báo cáo

Dữ liệu của bạn không bao giờ rời khỏi máy tính. Mọi xử lý diễn ra 100% cục bộ trong trình duyệt của bạn.

Công cụ này có hữu ích không?0.0 0 lượt đánh giá
Tạo file workflow GitHub Actions cho NodePython, Go, site tĩnh hoặc Docker: trigger, cache, lint, test, build, matrix và deploy lên Pages hoặc Vercel.GitHub Actions Generator →

Cách dùng Kiểm tra GitHub Actions

  1. Dán nội dung file workflow, mở tệp, hoặc tải mẫu.
  2. Lỗi YAML được hiển thị đầu tiên, kèm số dòng.
  3. Sau đó công cụ kiểm tra trigger, job, step, needs, biểu thức, lịch cron và permissions.
  4. Các kiểm tra thực hành tốt nhất sẽ cảnh báo action đã lỗi thời, action bên thứ ba chưa ghim phiên bản, thiếu timeout và rủi ro script injection.

Các lỗi workflow thường gặp mà công cụ này phát hiện

  • Sự kiện hoặc khóa không tồn tại — gõ sai như pull-request thay vì pull_request, hoặc run-on thay vì runs-on.
  • Đồ thị job bị lỗi — needs trỏ tới một job không tồn tại, hoặc các job phụ thuộc vòng tròn lẫn nhau.
  • Step có cả hoặc không có uses và run, và tham chiếu uses thiếu phiên bản (@v4).
  • Biểu thức — ${{ }} không cân bằng, context không tồn tại và tham chiếu tới output của step không có thật.
  • Cron không hợp lệ — lịch phải có đủ năm trường; công cụ sẽ giải thích thời điểm chạy (theo UTC).
  • Lệnh đã lỗi thời như ::set-output và ::save-state, được thay bằng $GITHUB_OUTPUT và $GITHUB_STATE.

Kiểm tra bảo mật

Nếu đưa trực tiếp ${{ github.event.pull_request.title }}, nội dung issue hoặc tên nhánh vào trong run:, bất kỳ ai mở pull request đều có thể chèn lệnh shell. Hãy truyền các giá trị này qua biến môi trường. Công cụ cũng cảnh báo pull_request_target kết hợp với việc checkout code từ PR, thiếu permissions (khi đó token nhận quyền mặc định rộng) và action bên thứ ba được ghim vào tag có thể thay đổi thay vì commit SHA.

Tạo workflow mới bằng trình tạo GitHub Actions, giải thích lịch chạy bằng trình tạo biểu thức cron, và kiểm tra các file YAML khác bằng trình kiểm tra YAML.

Cũng được tìm dưới tên: github actions validator, lint github workflow, kiểm tra cú pháp github actions, validate workflow yaml github, actionlint online, github actions linter, kiểm tra file workflow github.

Các công cụ dùng kèm tốt với Kiểm tra GitHub Actions

  • Kiểm tra Kubernetes YAML — Dán Deployment, Service, Ingress, ConfigMap hoặc cả một tệp nhiều tài liệu.
  • Bảng lệnh Git — Mọi lệnh Git bạn dùng hằng ngày, và cả những lệnh cần khi có sự cố, được giải thích trong một dòng.
  • Tạo Kubernetes YAML — Nhập tên ứng dụng, image và cổng, bạn sẽ có ngay Kubernetes YAML sẵn sàng cho production: một Deployment với probe, giới hạn tài nguyên và security context được gia cố, cùng Service, Ingress có TLS, ConfigMap, Secret và HorizontalPodAutoscaler mà bạn chọn — tất cả trong một file, sẵn sàng cho kubectl apply.
  • Trình tạo systemd Service — Chạy ứng dụng của bạn như một dịch vụ Linux đúng chuẩn, tự khởi động cùng hệ thống và tự restart khi bị crash.

Câu hỏi thường gặp

Công cụ này có giống actionlint không?
Nó bao gồm nhiều kiểm tra tương tự — cú pháp, đồ thị job, biểu thức, cron, lệnh lỗi thời và rủi ro injection — và chạy ngay trên trình duyệt mà không cần cài đặt gì. Để ép buộc kiểm tra trong CI, bạn nên chạy actionlint trong pipeline của mình.
Công cụ có kiểm tra reusable workflow và composite action không?
Có hỗ trợ workflow có on: workflow_call và các job gọi reusable workflow (uses: ở cấp job). Các file action.yml của composite action hiện chưa được kiểm tra.
Vì sao nên ghim action vào commit SHA?
Tag như @v4 có thể bị chủ sở hữu action di chuyển — hoặc kẻ tấn công nếu chiếm được tài khoản đó. Commit SHA đầy đủ thì không thể thay đổi, nên workflow của bạn chạy đúng đoạn code bạn đã xem xét.
Tôi có thể cài Kiểm tra GitHub Actions như một ứng dụng web và dùng khi không có mạng không?
Có. Kiểm tra GitHub Actions là một ứng dụng web (PWA) có thể cài đặt — cài trực tiếp từ trình duyệt, không cần tải từ cửa hàng ứng dụng. Trên Chrome hoặc Edge (Windows, macOS, Linux, ChromeOS) hoặc Android, bấm Cài đặt ứng dụng ở đầu trang này; trên iPhone và iPad, dùng Chia sẻ → Thêm vào Màn hình chính; trên Mac, dùng File → Add to Dock trong Safari 17 trở lên. Sau đó ứng dụng mở trong cửa sổ riêng với biểu tượng riêng, và vì chạy hoàn toàn trên trình duyệt nên vẫn hoạt động khi không có mạng. Firefox trên máy tính không thể cài ứng dụng web. Cách cài đặt hoạt động thế nào.

Công cụ liên quan