🪁

Main
guest@kietttran:~/debug
# filed: 2026-07-29 · # topic: git
$ cat 2_git-deploy-verification.mdx

Git deploy verification

Vercel auto-deploy is off, push goes through GitHub Actions, and Node 18 EOL causes silent failures.


title: "Git deploy verification" description: "Vercel auto-deploy is off, push goes through GitHub Actions, and Node 18 EOL causes silent failures." dateCreated: "2026-07-29" dateUpdated: "2026-07-29" category: "debug" tags: ["linux", "git", "vercel", "github actions", "terminal"] kind: "article" topic: "git" experience: "terminal" interactive: true difficulty: 2 estimatedMinutes: 5

Có một ngày bạn commit code, tự tin gõ lệnh push. Không có lỗi nào ở local. Nhưng khi bạn lên production refresh... mọi thứ vẫn như cũ.

Terminal
$git log origin/main..HEAD

commit e12a4b3c (HEAD -> main, origin/main) Author: Kiet Tran Date: Wed Jul 29 08:30:00 2026 +0700

fix: syntax error causing blank page on production

Quan sát

Khoan đã. Commit đã nằm trên origin/main. Tức là code đã lên GitHub thành công. Vậy đây không phải lỗi "chưa push code".

Thường khi dùng Vercel, git push vào nhánh chính (main) sẽ kích hoạt một hook để Vercel tự động build. Nhưng nếu Vercel auto-deploy đang tắt thì sao?

Terminal
$cat vercel.json

{ "github": { "enabled": false, "silent": true } }

Vercel github hook đã bị tắt (enabled: false). Thay vào đó, deployment pipeline của hệ thống này đi qua GitHub Actions (workflow .github/workflows/production.yml). Vậy chúng ta cần kiểm tra GitHub Actions thay vì dashboard của Vercel.

Terminal
$gh run list --workflow=production.yml --limit 1

X Deploy to Production production.yml main #123 2m ago

Quan sát

Workflow đã chạy, nhưng FAIL (X). Đó là lý do production không có code mới. Nhưng tại sao nó lại fail? Lỗi cú pháp chăng? Không, local chạy rất tốt.

Hãy nhìn vào log chi tiết của GitHub Actions, đặc biệt là step cài đặt và chạy Vercel CLI.

High Severity

FACT (Tháng 07/2026): Lúc sự cố xảy ra, CI pipeline của repo bị pin ở Node 18 (chuẩn bị EOL). Vercel CLI bản canary mới nhất yêu cầu tối thiểu Node 20. Do đó, khi workflow chạy npx vercel build, nó văng lỗi phiên bản Node và âm thầm thất bại. (Hiện tại repo đã được nâng cấp lên Node 24 để tránh lỗi này lặp lại).

The Verdict

Push thành công không có nghĩa là Deploy thành công. Khi gặp trường hợp "Code local chạy, prod không đổi":

  1. Đừng vội vàng sửa application code.
  2. Kiểm tra commit lịch sử: đã push lên remote chưa?
  3. Kiểm tra pipeline: hook có chạy không, CI có xanh không?

Lỗi infra (như Node EOL) thường giấu mình đằng sau một cái push thành công rực rỡ.

Tags
linuxgitvercelgithub actionsterminal