# 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"