Hub documentation
GitHub Actions
GitHub Actions
GitHub deponuzu Hugging Face Hub'a otomatik olarak senkronize etmek için GitHub Actions kullanabilirsiniz. Resmi huggingface/hub-sync eylemi, Modeller, Veri kümeleri ve Spaces senkronizasyonunu destekler.
Anahtar gerektirmeyen yayınlama için — saklanması veya döndürülmesi gereken bir
HF_TOKENgizli değeri yok — her çalıştırmanın başında GitHub Actions’ın yerleşik OIDC jetonunu kısa ömürlü, depo kapsamına sahip bir Hub jetonuyla değiştiren Trusted Publishers bölümüne bakın.
Kurulum
- Hedef depoya yazma iznine sahip bir Hugging Face erişim belirteci oluşturun. Daha iyi güvenlik için, yalnızca senkronize ettiğiniz depoya sınırlanmış bir ince taneli belirteç kullanın.
- Token'ı, GitHub gizli anahtarı olarak
HF_TOKENadıyla depolama ayarlarınıza ekleyin. - Deponuza bir iş akışı dosyası (ör.
.github/workflows/sync-to-hub.yml) ekleyin.
Temel kullanım
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 }}Varsayılan olarak bu, bir Space'e senkronize edilir. Bir model veya veri setini senkronize etmek için repo_type parametresini ayarlayın:
- 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: datasetParametreler
| Parametre | Zorunlu | Varsayılan | Açıklama |
|---|---|---|---|
github_repo_id | Evet | — | GitHub deposu (${{ github.repository }} kullanın) |
huggingface_repo_id | Evet | — | Hub'daki hedef depo (username/repo-name) |
hf_token | Evet | — | Hugging Face erişim belirteci |
repo_type | Hayır | space | space, model veya dataset |
space_sdk | Hayır | gradio | gradio, streamlit, docker veya static |
private | Hayır | false | Depoyu özel olarak oluşturulup oluşturulmayacağı |
subdirectory | Hayır | . | Belirli bir alt dizini senkronize edin (monorepo'lar için faydalı) |
Eylem, hf CLI kullanarak dosyalarınızı Hub'a aynalar — bu bir git-to-git senkronizasyonu değildir. .github/ ve .git/ dizinlerini otomatik olarak hariç tutar ve silme işlemlerini aynalar (GitHub'dan kaldırılan dosyalar Hub'dan da kaldırılır).
Daha karmaşık iş akışları (ör. derleme adımları, özel yükleme mantığı) için, bunun yerine hf CLI'yi doğrudan iş akışınızda kurup kullanabilirsiniz.
Spaces'e özgü yönergeler (dosya boyutu sınırları, LFS işleme) için GitHub Actions ile Spaces Yönetimi sayfasına bakın.
Update on GitHub