Bỏ qua để đến nội dung

Auto Sync External Docs -> DOL Education Documentation

Plans311 words2 min read
active
  • Tự động đọc dữ liệu từ nguồn tài liệu ngoài (Google Docs/Sheets) theo lịch.
  • Chỉ commit khi nội dung thực sự đổi.
  • Giữ pipeline wiki hiện tại: push vào main sẽ tự trigger workflow Trigger Wiki Delta Sync.
  • File: .github/workflows/auto-sync-doc-sources.yml
  • Trigger:
    • schedule: mỗi 5 phút
    • workflow_dispatch: chạy tay (có tùy chọn force)
  1. Secret KB_INGEST_SOURCES_JSON (khuyến nghị cho CI).
  2. Repo file config/knowledge-ingest/sources.auto.json.
  3. Nếu không có cả 2: workflow sẽ skip an toàn (không fail pipeline).
  • KB_INGEST_SOURCES_JSON: JSON config cho scripts/kb-ingest.mjs.

Google auth (tùy authMode của từng source):

  • Service Account mode:
    • GOOGLE_SERVICE_ACCOUNT_JSON hoặc GOOGLE_SERVICE_ACCOUNT_KEY_FILE
  • OAuth Access Token mode:
    • GOOGLE_OAUTH_ACCESS_TOKEN
  • OAuth Refresh Token mode:
    • GOOGLE_OAUTH_CLIENT_ID
    • GOOGLE_OAUTH_CLIENT_SECRET
    • GOOGLE_OAUTH_REFRESH_TOKEN
    • Optional: GOOGLE_OAUTH_CREDENTIALS_FILE
  • Chỉ stage path docs/** để commit gọn và ổn định.
  • Không có thay đổi -> không commit.
  • Có thay đổi -> commit message:
    • chore(docs-sync): auto sync external docs
  • Workflow này không trigger trên push, chỉ schedule/manual.
  • Push do bot tạo sẽ trigger workflow wiki delta (Trigger Wiki Delta Sync) đúng mục tiêu.
  • Không tạo vòng lặp commit nội bộ trong chính workflow auto-sync.
  1. Manual dispatch run -> status success.
  2. Nếu chưa cấu hình secret/file config -> run hiển thị Skipped: missing-config.
  3. Sau khi cấu hình nguồn thật và có thay đổi tài liệu -> workflow tạo commit mới trên main.
  4. Commit đó trigger Trigger Wiki Delta Sync và wiki artifact cập nhật trong <= 120s (p95).