Cara menggunakan Validator GitHub Actions
- Tempel file workflow, buka file, atau muat contohnya.
- Error YAML ditampilkan lebih dulu, lengkap dengan nomor baris.
- Setelah itu trigger, job, step,
needs, ekspresi, jadwal cron, dan permissions akan diperiksa. - Pemeriksaan praktik terbaik menandai versi action yang usang, action pihak ketiga tanpa pin, timeout yang hilang, dan risiko script-injection.
Kesalahan umum workflow yang terdeteksi
- Event atau key yang tidak dikenal — salah ketik seperti
pull-requestalih-alihpull_request, ataurun-onalih-alihruns-on. - Graf job yang rusak —
needsyang menunjuk ke job yang tidak ada, atau job yang saling bergantung secara melingkar. - Step yang memiliki keduanya atau tidak memiliki
usesmaupunrun, serta referensiusestanpa versi (@v4). - Ekspresi —
${{ }}yang tidak seimbang, konteks yang tidak dikenal, dan referensi ke output step yang tidak ada. - Cron yang tidak valid — jadwal harus memiliki lima field; tool ini juga menjelaskan kapan jadwal berjalan (dalam UTC).
- Perintah usang seperti
::set-outputdan::save-state, yang sudah digantikan oleh$GITHUB_OUTPUTdan$GITHUB_STATE.
Pemeriksaan keamanan
Menggunakan ${{ github.event.pull_request.title }}, isi issue, atau nama branch langsung di dalam run: memungkinkan siapa pun yang membuka pull request menyisipkan perintah shell. Sebagai gantinya, teruskan nilainya melalui environment variable. Validator ini juga menandai pull_request_target yang dikombinasikan dengan checkout kode PR, permissions yang tidak ada (token akan mendapat default yang terlalu luas), dan action pihak ketiga yang di-pin ke tag yang bisa berubah, bukan ke commit SHA.
Buat workflow baru dengan generator GitHub Actions, jelaskan jadwal dengan generator ekspresi cron, dan periksa YAML lain dengan validator YAML.
Juga dicari sebagai: linter github actions, validasi workflow github, actionlint online, cek syntax yaml github actions, pengecekan workflow github yaml, cek workflow github actions online.
Tool yang cocok dipakai bersama Validator GitHub Actions
- Validator YAML Kubernetes — Tempel Deployment, Service, Ingress, ConfigMap, atau satu file berisi banyak dokumen sekaligus.
- Git Cheat Sheet — Setiap perintah Git yang kamu pakai sehari-hari, dan yang kamu butuhkan saat ada yang salah, dijelaskan dalam satu baris.
- Generator YAML Kubernetes — Isi nama aplikasi, image, dan port, lalu dapatkan YAML Kubernetes siap production: Deployment dengan probe, batas resource, dan security context yang diperketat, plus Service, Ingress dengan TLS, ConfigMap, Secret, dan HorizontalPodAutoscaler yang kamu centang — dalam satu file yang siap untuk kubectl apply.
- Generator systemd Service — Jalankan aplikasimu sebagai service Linux yang otomatis start saat boot dan restart saat crash.
Pertanyaan yang sering diajukan
Apakah ini sama dengan actionlint?
Apakah ini memvalidasi reusable workflow dan composite action?
on: workflow_call dan job yang memanggil reusable workflow (uses: di level job) sudah didukung. File action.yml untuk composite action belum diperiksa.Kenapa action perlu di-pin ke commit SHA?
@v4 bisa dipindahkan oleh pemilik action — atau oleh penyerang yang berhasil meretasnya. Commit SHA yang lengkap tidak bisa berubah, sehingga workflow kamu selalu menjalankan kode yang sudah kamu tinjau.