Sync README files from source repository [skip ci]

This commit is contained in:
Gitea Actions
2026-01-23 10:42:45 +00:00
commit f558a9c713
6 changed files with 1542 additions and 0 deletions
+63
View File
@@ -0,0 +1,63 @@
# 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"