الدليل
الانتقال من Cirrus Runners إلى Mac mini مخصص
لم تعد Cirrus Runners تقبل عملاء جددًا، والعقود الحالية تقترب من نهايتها. انقل مهام GitHub Actions الخاصة بـ macOS إلى Mac mini مخصص، بشكل أصلي أو باستخدام صور Tart نفسها.
وقت القراءة: 60 د، آخر تحديث 2026-09-15
في أبريل 2026 أعلنت Cirrus Labs انضمامها إلى OpenAI. توقفت Cirrus CI عن تشغيل المهام في 1 يونيو 2026. لا تقبل Cirrus Runners عملاء جددًا، ولا يُدعم العملاء الحاليون إلا حتى انتهاء عقدهم الحالي.
إذا كانت مهام GitHub Actions الخاصة بـ macOS تعمل على Cirrus Runners، فهي تحتاج إلى مكان جديد قبل ذلك التاريخ. يعرض هذا الدليل طريقتين لنقلها إلى Mac mini مخصص، وكيف تختار بينهما.
طريقتان للانتقال
المسار A، Runner أصلي. يعمل Runner الخاص بـ GitHub Actions مباشرة على macOS. إنه أبسط إعداد، مع أسرع عمليات بناء وذاكرات مؤقتة تبقى جاهزة بين المهام.
المسار B، أجهزة Tart الافتراضية. تشغل صور Cirrus لنظام macOS نفسها التي تستخدمها اليوم، داخل Tart، على جهاز Mac الخاص بك. تبدأ كل مهمة من جهاز نظيف، تمامًا كما في Cirrus.
Path A, native runner
Fastest, and you install Xcode yourself.
Path B, Tart virtual machines
Nothing changes in the workflow except the label.
| Runner أصلي | أجهزة Tart الافتراضية | |
|---|---|---|
| وقت الإعداد | نحو 30 دقيقة | نحو ساعة |
| البيئة نفسها كما في Cirrus | لا، تثبت Xcode بنفسك | نعم، الصور نفسها |
| جهاز نظيف لكل مهمة | No | نعم |
| ذاكرات مؤقتة جاهزة بين المهام | نعم | لا، إلا إذا ضمنتها في الصورة |
| عدد المهام المتزامنة لكل جهاز Mac | واحدة لكل Runner | حتى اثنتين (حد ترخيص Apple) |
اختر A إذا كان فريقك يملك المستودع ويريد السرعة. اختر B إذا كنت تحتاج إلى أن يبدأ كل بناء من حالة معروفة ونظيفة، أو كنت لا تريد تغيير أي شيء في ملفات سير العمل لديك سوى التسمية (label).
قبل أن تبدأ
أعدّ قائمة بما تستخدمه ملفات سير العمل (workflows) لديك اليوم. ابحث عن أسطر runs-on التي تشير إلى صور Cirrus، على سبيل المثال:
runs-on: ghcr.io/cirruslabs/macos-runner:sonomaدون إصدار macOS، وإصدارات Xcode، وأي شيء تثبته مهامك عند البدء. ستحتاج إلى هذه القائمة في أي من المسارين.
المسار A: Runner أصلي
اتبع دليلنا «Runner مستضاف ذاتيًا لـ GitHub Actions على Mac mini»، ورابطه في أسفل هذه الصفحة. يغطي Xcode، وتسجيل الـ Runner، وتشغيله كخدمة.
امنح الـ Runner تسمية تصفه، مثل macduty-m4. ثم غير سطرًا واحدًا في كل ملف سير عمل:
# before
runs-on: ghcr.io/cirruslabs/macos-runner:sonoma
# after
runs-on: [self-hosted, macOS, ARM64, macduty-m4]شغّل ملف سير عمل واحدًا على الـ Runner الجديد بينما لا تزال Cirrus تعمل. وعندما ينجح، انقل البقية.
المسار B: الصور نفسها، داخل Tart
1. تثبيت Tart على جهاز Mac
brew install cirruslabs/cli/tart2. سحب صورة من Cirrus
اختر الصورة الأقرب لما تشغله اليوم. تنشر Cirrus صورًا مع Xcode وبدونه:
tart clone ghcr.io/cirruslabs/macos-sequoia-xcode:latest ci-baseالسحب الأول كبير، وغالبًا ما يتجاوز 50 GB، لذا خصص له بعض الوقت.
3. تشغيل الجهاز الافتراضي وتسجيل الدخول
tart run --no-graphics ci-base &
ssh admin@$(tart ip ci-base)تأتي صور Cirrus بحساب مسؤول افتراضي. غير كلمة مروره قبل أي شيء آخر.
4. تسجيل الـ Runner داخل الجهاز الافتراضي
داخل الجهاز الافتراضي، سجل Runner لـ GitHub Actions بالطريقة نفسها كما في المسار A، مع فرق واحد: أضف --ephemeral، ليأخذ الـ Runner مهمة واحدة ثم يتوقف.
./config.sh --url https://github.com/<owner>/<repo> --token <token> --ephemeral --labels tart-sequoia
./run.sh5. جهاز افتراضي جديد لكل مهمة
على جهاز Mac نفسه، تنسخ حلقة صغيرة نسخة نظيفة من الصورة، وتشغل فيها مهمة واحدة، ثم تحذفها:
while true; do
tart clone ci-base job
tart run --no-graphics job &
# wait for the job to finish, then:
tart stop job
tart delete job
doneعمليًا ستحتاج إلى سكربت يجلب أيضًا رمز تسجيل جديدًا لكل جهاز افتراضي. أدوات مثل Orchard، من الفريق نفسه، تتولى ذلك في الإعدادات الأكبر.
يسمح ترخيص Apple بتشغيل جهازين افتراضيين بنظام macOS كحد أقصى في الوقت نفسه على جهاز Mac واحد. لتشغيل مهام أكثر بالتوازي، أضف جهاز Mac آخر.
بعد الانتقال
- تحقق من أوقات البناء. على M4 مخصص أو أحدث، يرى معظم الفرق عمليات بناء بسرعة Cirrus نفسها، وأسرع مع الذاكرات المؤقتة الجاهزة.
- احتفظ بملفات سير العمل القديمة لمدة أسبوع. اترك نسخة من أسطر runs-on الخاصة بـ Cirrus في فرع إلى أن تمر الـ Runners الجديدة بإصدار كامل.
- المستودعات الخاصة فقط. لا ينبغي أن تقبل Runners المستضافة ذاتيًا مهامًا من التفرعات (forks) العامة.
لماذا Mac mini مخصص
- مبلغ شهري ثابت. لا فوترة بالدقيقة، ولا شيء لإعادة التفاوض عليه عند انتهاء العقد.
- كل الأجيال. من M1 إلى M6 جنبًا إلى جنب، لتختبر على الشرائح الموجودة لدى مستخدميك.
- لك وحدك. لا طابور انتظار، ولا جيران، ولا مهام لأي أحد آخر على جهازك.
- مستضاف في الاتحاد الأوروبي، ويخضع للائحة العامة لحماية البيانات (GDPR).
تضع MacDuty أجهزة Mac mini من M1 إلى M6 في خزائن الخوادم لديها، مثبتًا عليها macOS، وجاهزة خلال دقائق. أضف مفتاح SSH الخاص بك من منطقة العملاء.
متوفر اليوم
هذه الأجهزة في الخزانة الآن. اختر واحدًا، واطّلع على ما يأتي معه، ولا تُنشئ حسابك إلا عند الطلب.
جارٍ التحقق من الخزائن
جهاز Mac mini خاص بك
اختر تكوينًا. وإن لم يكن متوفرًا، اترك بريدك الإلكتروني ونراسلك يوم تركيبه في الخزانة.
سنويًا: أقل بنسبة 19% على الأقل من الدفع الشهري
التالي