Files

2.6 KiB

Gitea Actions - Sync README Files

Workflow này tự động đồng bộ các file README.md từ repository này sang một repository công khai khác.

Cấu hình

1. Thiết lập Secrets trong Gitea

Vào Settings > Secrets của repository và thêm 2 secrets sau:

  • TARGET_REPO_URL: URL của repository đích (ví dụ: https://gitea.example.com/username/public-repo.git)
  • TOKEN_ACTION_PUBLIC_README: Token có quyền push vào repository đích

2. Tạo Token trong Gitea

  1. Vào Settings > Applications > Generate New Token
  2. Đặt tên token (ví dụ: "README Sync Token")
  3. Chọn quyền: write:repository hoặc repo
  4. Copy token và lưu vào secret TOKEN_ACTION_PUBLIC_README

3. Cách hoạt động

Workflow sẽ tự động chạy khi:

  • Push events: Có push vào các branch main hoặc master (sau khi PR được merge)
  • Pull Request events: Có PR mới, cập nhật, hoặc reopen vào main/master với thay đổi file .md
  • Manual trigger: Chạy thủ công qua Actions > Sync README files > Run workflow

Lưu ý quan trọng:

  • Khi chạy trên PR event: Workflow sẽ validate và chuẩn bị files nhưng KHÔNG push vào repo đích (chỉ để preview)
  • Khi chạy trên Push event (sau khi merge): Workflow sẽ push files vào repo đích

4. Cấu trúc file được sync

  • File readme.md hoặc README.md ở root → được copy thành README.md ở root của repo đích
  • Các file README.md trong các thư mục con → được copy vào docs/ của repo đích, giữ nguyên cấu trúc thư mục

5. Kiểm tra kết quả

Sau khi workflow chạy:

  • Vào tab Actions để xem log
  • Kiểm tra repository đích để xác nhận các file đã được sync

Troubleshooting

Lỗi: "TARGET_REPO_URL secret is not set"

  • Kiểm tra đã thêm secret TARGET_REPO_URL chưa
  • Đảm bảo tên secret chính xác (case-sensitive)

Lỗi: "Failed to clone target repository"

  • Kiểm tra URL repository đích có đúng không
  • Kiểm tra token có quyền đọc repository không
  • Đảm bảo repository đích là public hoặc token có quyền truy cập

Lỗi: "Push failed"

  • Kiểm tra token có quyền push vào repository đích
  • Kiểm tra branch mặc định của repository đích (main/master)

Tùy chỉnh

Nếu cần thay đổi:

  • Branch trigger: Sửa phần branches trong workflow
  • File pattern: Sửa phần paths trong workflow
  • Target directory: Sửa phần copy files trong step "Find and copy README files"