Hub documentation
GitHub Actions
GitHub Actions
Anda dapat menggunakan GitHub Actions untuk secara otomatis menyinkronkan repositori GitHub Anda ke Hugging Face Hub. Aksi resmi huggingface/hub-sync mendukung penyinkronan Models, Datasets, dan Spaces.
Untuk penerbitan tanpa kunci — tanpa perlu menyimpan atau memutar rahasia
HF_TOKEN— lihat Trusted Publishers, yang menukar token OIDC bawaan GitHub Actions dengan token Hub berumur pendek dan berlingkup repo di awal setiap eksekusi.
Setup
- Buat access token Hugging Face dengan izin write ke repo target. Untuk keamanan yang lebih baik, gunakan fine-grained token yang di-scope hanya ke repository yang Anda sinkronkan.
- Tambahkan token sebagai GitHub secret bernama
HF_TOKENdi pengaturan repositori Anda. - Tambahkan file workflow (misalnya
.github/workflows/sync-to-hub.yml) ke repositori Anda.
Penggunaan dasar
name: Sync to Hugging Face Hub
on:
push:
branches: [main]
jobs:
sync:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: huggingface/hub-sync@v0.3.0
with:
github_repo_id: ${{ github.repository }}
huggingface_repo_id: username/repo-name
hf_token: ${{ secrets.HF_TOKEN }}Secara default, ini menyinkronkan ke Space. Untuk menyinkronkan model atau dataset, atur parameter repo_type:
- uses: huggingface/hub-sync@v0.3.0
with:
github_repo_id: ${{ github.repository }}
huggingface_repo_id: username/my-dataset
hf_token: ${{ secrets.HF_TOKEN }}
repo_type: datasetParameter
| Parameter | Wajib | Default | Deskripsi |
|---|---|---|---|
github_repo_id | Ya | — | Repositori GitHub (gunakan ${{ github.repository }}) |
huggingface_repo_id | Ya | — | Repo target di Hub (username/repo-name) |
hf_token | Ya | — | Token akses Hugging Face |
repo_type | Tidak | space | space, model, atau dataset |
space_sdk | Tidak | gradio | gradio, streamlit, docker, atau static |
private | Tidak | false | Apakah akan membuat repositori sebagai privat |
subdirectory | Tidak | . | Sinkronkan subdirektori tertentu (berguna untuk monorepo) |
Aksi ini mencerminkan file Anda ke Hub menggunakan CLI hf — ini bukan sinkronisasi git-ke-git. Aksi ini secara otomatis mengecualikan direktori .github/ dan .git/ serta mencerminkan penghapusan (file yang dihapus dari GitHub akan dihapus dari Hub).
Untuk alur kerja yang lebih kompleks (misalnya langkah build, logika unggah kustom), Anda dapat menginstal dan menggunakan hf CLI secara langsung di alur kerja Anda sebagai gantinya.
Untuk panduan khusus Spaces (batas ukuran file, penanganan LFS), lihat Managing Spaces with GitHub Actions.
Update on GitHub