Hub documentation
GitHub Actions
GitHub Actions
يمكنك استخدام GitHub Actions لمزامنة مستودع GitHub الخاص بك تلقائيًا مع Hugging Face Hub. يدعم إجراء huggingface/hub-sync الرسمي مزامنة النماذج ومجموعات البيانات والمساحات.
للنشر بدون مفاتيح — دون الحاجة إلى تخزين أو تدوير سر
HF_TOKEN— راجع Trusted Publishers، الذي يستبدل رمز OIDC المدمج في GitHub Actions برمز Hub قصير العمر ومحدود النطاق بمستودع واحد في بداية كل تشغيل.
الإعداد
- أنشئ رمز وصول لحساب Hugging Face مع إذن الكتابة في المستودع المستهدف. ولتحقيق أمان أفضل، استخدم رمزًا دقيقًا محددًا نطاقه على المستودع الذي تتم مزامنته فقط.
- أضف الرمز كـ سر على GitHub باسم
HF_TOKENفي إعدادات مستودعك. - أضف ملف سير عمل (مثل
.github/workflows/sync-to-hub.yml) إلى مستودعك.
الاستخدام الأساسي
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 }}بشكل افتراضي، تتم المزامنة مع Space. لمزامنة نموذج أو مجموعة بيانات، اضبط معامل 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: datasetالمعاملات
| معامل | مطلوب | افتراضي | الوصف |
|---|---|---|---|
github_repo_id | نعم | — | مستودع GitHub (استخدم ${{ github.repository }}) |
huggingface_repo_id | نعم | — | المستودع المستهدف على Hub (username/repo-name) |
hf_token | نعم | — | رمز وصول Hugging Face |
repo_type | لا | space | space أو model أو dataset |
space_sdk | لا | gradio | gradio أو streamlit أو docker أو static |
private | لا | false | ما إذا كان سيتم إنشاء المستودع كخاص |
subdirectory | لا | . | مزامنة مجلد فرعي محدد (مفيد للمستودعات الأحادية) |
تعكس الإجراء ملفاتك إلى Hub باستخدام سطر الأوامر hf — وليس مزامنة من git إلى git. يستثني تلقائيًا المجلدات .github/ و.git/ ويعكس عمليات الحذف (سيتم حذف الملفات المُزالة من GitHub من Hub).
لعمليات العمل الأكثر تعقيدًا (مثل خطوات البناء، منطق الرفع المخصص)، يمكنك بدلاً من ذلك تثبيت hf CLI واستخدامه مباشرةً في عملية العمل الخاصة بك.
للإرشادات الخاصة بـ Spaces (حدود حجم الملفات، معالجة LFS)، راجع إدارة Spaces باستخدام GitHub Actions.
Update on GitHub