جميع حزم المصدر المفتوح
البنية التحتيةYAML

.github

ملفات مجتمع مشتركة وسبعة سير عمل (workflows) قابلة لإعادة الاستخدام في GitHub Actions لمستودعات muhittincamdali.

0النجومآخر إصدار: v1.1.0آخر تحديث: 14 أكتوبر 2026
الأنظمة الأساسية:GitHub Actions

الترخيص: MIT

يطبّق GitHub دليل المساهمة وميثاق السلوك وسياسة الأمان ودليل الدعم ونماذج Issue وقالب Pull Request الموجودة في هذا المستودع على كل مستودع لا يملك نسخته الخاصة. وإلى جانبها سبعة سير عمل قابلة لإعادة الاستخدام تستدعيها المستودعات الأخرى عبر workflow_call: بناء واختبار حزمة Swift مع xcodebuild اختياري لكل منصة من منصات Apple، وتحويل DocC إلى GitHub Pages، وFlutter، وNode.js، وفحص الروابط بـ lychee، وفحص لترجمة README، وفحص نظافة للملفات ورسائل الـ commit. كل action مثبّت على SHA كامل لـ commit، وكل job يطلب فقط الصلاحيات التي يحتاجها، والمستدعون يثبّتون سير العمل على commit موسوم يحافظ Dependabot على تحديثه.

الميزات

  • swift-ci: swift build --build-tests وswift test، مع مصفوفة xcodebuild اختيارية لـ iOS وmacOS وMac Catalyst وtvOS وwatchOS وvisionOS
  • docc-pages: يبني DocC باستخدام xcodebuild docbuild، ويدمج عدة modules في موقع واحد وينشره على GitHub Pages
  • flutter-ci وnode-ci: format وanalyze وtest لـ Flutter؛ تثبيت من lockfile بواسطة npm أو pnpm وتشغيل سكريبتات lint وtypecheck وtest وbuild الموجودة، على عدة إصدارات من Node.js
  • links: فحص الروابط وعلامات #anchor بواسطة lychee، مع cache يدوم يومًا واحدًا وإعدادات افتراضية مشتركة
  • readme-i18n-sync: كل ملف README.<lang>.md يذكر git blob لنسخة README الإنجليزية التي يترجمها؛ يجب أن تتطابق أكواد code blocks وURLs ما دام يدّعي أنه يطابق الإصدار الحالي
  • hygiene: يرفض أسماء الأدوات والصيغ التفضيلية غير القابلة للتحقق والشعارات المتوقفة في الملفات المتتبّعة وفي الـ commits التي يتم push-ها، مع قائمة سماح (allow list) خاصة بكل مستودع
  • actions مثبّتة على SHA كامل للـ commit، صلاحيات لكل job، persist-credentials: false، ومجموعات concurrency تُلغي تشغيلات pull request القديمة
  • يفحص المستودع نفسه بواسطة actionlint (مع shellcheck) وhygiene وlinks

البدء السريع

yaml
1name: CI
2 
3on:
4 push:
5 branches: [main]
6 pull_request:
7 
8permissions: {}
9 
10jobs:
11 swift:
12 permissions:
13 contents: read
14 uses: muhittincamdali/.github/.github/workflows/swift-ci.yml@<sha> # v1
15 with:
16 platforms: '["iOS", "macOS", "tvOS", "watchOS", "visionOS"]'
17 
18 hygiene:
19 permissions:
20 contents: read
21 uses: muhittincamdali/.github/.github/workflows/hygiene.yml@<sha> # v1

التثبيت

Call a workflow from a repository

yaml
1jobs:
2 swift:
3 permissions:
4 contents: read
5 uses: muhittincamdali/.github/.github/workflows/swift-ci.yml@<sha> # v1
6 with:
7 platforms: '["iOS", "macOS", "tvOS", "watchOS", "visionOS"]'

الجدول الزمني

  1. افتُتح المستودع بملفات المجتمع المشتركة وستة سير عمل قابلة لإعادة الاستخدام (swift-ci وdocc-pages وflutter-ci وnode-ci وlinks وhygiene)، ثم أُضيف فحص ترجمة README؛ وُسم بـ v1 وv1.0.0

  2. v1.1.0: حصل docc-pages على مدخل skip-synthesized-members الاختياري، بحيث تناسب حزمة تضم العديد من SwiftUI views موقع GitHub Pages

الروابط

مقالة ذات صلة

قراءة المقالة