مولّد سير عمل GitHub Actions

التالي

مستودع GitHub جديد بلا CI يبعد git push واحدة عن النشر المعطوب التالي. يكتب هذا المولّد ملف .github/workflows/ci.yml للبدء لـ Node أو PHP أو Laravel، موصّلا الاستخراج، وإجراء بيئة التشغيل الصحيح، وتثبيت التبعيات، وأمر الاختبار القياسي، كل ما تحتاجه لإضاءة النقطة الخضراء/الحمراء.

كيف تولّد سير عمل

  1. 1

    اختر المنصة

    Node (يستخدم `actions/setup-node`)، أو PHP (يستخدم `shivammathur/setup-php`)، أو Laravel (PHP + `php artisan test`).

  2. 2

    حدّد الفرع الرئيسي

    `main` هو الافتراضي؛ تجاوزه إن كان مستودعك ما زال يستخدم `master` أو اسما مخصصا.

  3. 3

    ولّد

    تجمّع الأداة ملف YAML بمشغّلي `push` و`pull_request` على ذلك الفرع.

  4. 4

    التزم في .github/workflows/

    أنشئ الملف عند `.github/workflows/ci.yml` وادفع: يضيء تبويب Actions عند الالتزام التالي.

كيف يبدو سير العمل

name: CI
on:
  push:
    branches: [main]
  pull_request:
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: shivammathur/setup-php@v2
        with:
          php-version: '8.4'
      - run: composer install --no-interaction
      - run: php artisan test

الإجراءات المثبَّتة من المولّد

الإجراء الغرض
actions/checkout@v4 استنساخ المستودع في المشغّل
actions/setup-node@v4 تثبيت سلسلة أدوات Node
shivammathur/setup-php@v2 تثبيت إصدار PHP بامتدادات

ما تضيفه تاليا

  • خطوة فحص (npm run lint، ./vendor/bin/phpstan analyse) قبل خطوة الاختبار.
  • بناء مصفوفي: شغّل عبر إصدارات Node/PHP متعددة بـ strategy.matrix.
  • رفع التغطية: codecov-action أو coveralls-action بعد خطوة الاختبار.
  • الأسرار: لا تضع رموزا صلبة أبدا، استخدم secrets.XXX وعرّفها تحت Settings → Actions.

مزالق شائعة

  • نسيان جلب الوسوم: with: { fetch-depth: 0 } على checkout حين يقرأ منطق إصدارك الوسوم.
  • استخدام صور Docker بـ latest: ثبّت الإصدارات لإبقاء التشغيلات قابلة لإعادة الإنتاج بعد أشهر.
  • تشغيل مجموعة اختبار من 30 دقيقة عند كل دفعة: قسّم المهام الطويلة بـ needs: لتوازيها.

الأسئلة الشائعة

عند .github/workflows/ci.yml في جذر مستودعك. يلتقط GitHub أي YAML تحت ذلك الدليل ويعرض كلا كسير عمل منفصل في تبويب Actions.

تشغّل طلبات السحب من التفرعات سير العمل لكن بـ GITHUB_TOKEN مضبوطا للقراءة فقط. لا يستطيع المساهمون الخارجيون الوصول إلى أسرارك ما لم توافق صراحة.

أضف كتلة strategy.matrix.php: [8.2, 8.3, 8.4] وأشِر إلى ${{ matrix.php }} في خطوة setup-php. سيطلق المشغّل مهمة لكل إصدار بالتوازي.

لا. يُعرض YAML المولَّد على الصفحة ولا يُرفَع ولا يُخزَّن في أي مكان؛ تنسخه أنت بنفسك.

أدوات ذات صلة

الأداة متاحة بلغات أخرى