إجراء github لإنشاء changelog تلقائيا وفقا للالتزامات التقليدية.
لا تتردد في تقديم طلب سحب أو مشكلة ، ولكن تأكد من اتباع القوالب.
مرحبًا بكم في تحسين هذا المشروع معًا!
إذا أعجبك هذا ، من فضلك أعطني نجمًا !
قم بإنشاء ملف سير عمل مثل .github/workflows/changelog.yml (يمكنك العثور عليه في هذا الريبو)
name : Generate changelog
on :
release :
types : [created, edited]
jobs :
generate-changelog :
runs-on : ubuntu-latest
steps :
- uses : actions/checkout@v2
with :
fetch-depth : 0
- uses : BobAnkh/[email protected]
with :
REPO_NAME : ' <YourUserName>/<YourRepoName> '
ACCESS_TOKEN : ${{secrets.GITHUB_TOKEN}}
PATH : ' CHANGELOG.md '
COMMIT_MESSAGE : ' docs(CHANGELOG): update release notes '
TYPE : ' feat:Feature,fix:Bug Fixes,docs:Documentation,refactor:Refactor,perf:Performance Improvements 'ملاحظة: يحتاج توليد Changelog إلى كل تاريخ الالتزام ، لذا يجب عليك ضبط
fetch-depth: 0معactions/checkoutملاحظة: لا يتم إضافة سجل الالتزام
docs(changelog)أوdoc(CHANGELOG)إلى Changelog
يرجى الاطلاع على الملاحظات أسفل الجدول لكيفية تعيين بعض المعلمات .
| المدخلات | وصف | مطلوب | تقصير |
|---|---|---|---|
| repo_name | اسم المستودع | لا | '' وهو ما يعني المستودع الحالي |
| Access_Token | GitHub Access Token. انظر الملاحظات 1 | نعم | يمكنك فقط تمرير ${{secrets.GITHUB_TOKEN}} |
| طريق | مسار إلى ملفك | لا | CHANGELOG.md |
| فرع | الفرع لتحديث الملف المحدد في المسار | لا | '' وهو ما يعني الفرع الافتراضي |
| pull_request | افتح طلب سحب جديد إذا تم تعيينه على اسم الفرع المستهدف. انظر الملاحظات 2 | لا | '' ما يعني عدم فتح طلب السحب افتراضيًا |
| commit_message | رسالة ارتكاب | لا | docs(CHANGELOG): update release notes |
| يكتب | نوع الالتزامات التي تريد إضافتها إلى Changelog. انظر الملاحظات 3 | لا | 'feat:Feature,fix:Fix' |
| الالتزام | الالتزام الذي تريد استخدامه لتحديث الملف. انظر الملاحظات 4 | لا | '' ما يعني الالتزام الافتراضي |
| default_scope | النطاق الافتراضي لعقد كل الالتزامات غير المتوفرة | لا | general |
| قمع _unscoped | سواء كان استبعاد الالتزامات غير المتوفرة | لا | خطأ شنيع |
| غير مصدر | ما إذا كان يجب تضمين الالتزامات التي لم تصدرها في Changelog | لا | خطأ شنيع |
| regenerate_count | تجديد N changelog changelog. انظر الملاحظات 5 | لا | 0 |
| استبدال _pmty_release_info | استبدل معلومات الإصدار الفارغة ببعض الكلمات | لا | خطأ شنيع |
الملاحظات 1 : ${{secrets.GITHUB_TOKEN}} لديها حد أسعار أصغر من رمز الوصول الشخصي (PAT) ، لذلك إذا كان لديك المزيد من الطلبات (الالتزام ، PRS ، وما إلى ذلك) أو مواجهة 403 معرضًا للحديد ، استخدم بات بدلاً من ذلك.
الملاحظات 2 : يجب استخدام PULL_REQUEST مع BRANCH معًا ، يجب تزويد كلاهما باسم فرع صالح إذا كنت ترغب في فتح طلب سحب . سيفتح GA طلب سحب من BRANCH (فرع الرأس) إلى PULL_REQUEST (فرع الأساس). اترك PULL_REQUEST فارغًا إذا كنت لا ترغب في فتح طلب سحب.
الملاحظات 3 : يمكنك تحديد الكلمة الرئيسية المكتشفة من رسالة الالتزام والكلمة المقابلة المقدمة في changelog في TYPE الإدخال. على سبيل المثال ، حدد feat:Feature,fix:Bug Fixes على رسائل مثل feat(main): add new option ليتم تقديمه في Changelog ضمن Feature الجزء وارتكاب رسائل مثل fix(server): adjust rendering ليتم تقديمه في Changelog ضمن Bug Fixes .
الملاحظات 4 : يجب أن يكون COMMITTER بالتنسيق: 'author <author@email>'
الملاحظات 5 : سيتم بالطبع إضافة جميع الإصدارات غير الموجودة في Changelog إلى Changelog. استخدم هذه المعلمة لتجديد آخر changelog changelog. التعيين الافتراضي إلى 0 يعني فقط إنشاء إصدارات جديدة. يمكنك ضبط -1 لتجديد جميع الإصدارات.
الملاحظات 6 : يمكنك استخدام التنسيق أدناه لتجنب بعض الخطوط في وصف الإصدار لتظهر في Changelog:
<!-- HIDE IN CHANGELOG BEGIN --> See CHANGELOG for more details. This line will be hided when changelog is generated. <!-- HIDE IN CHANGELOG END -->
bobankh
يجب عليك اتباع مدونة قواعد السلوك الخاصة بنا.
انظر الإرشادات المساهمة للمساهمة بالاتفاقيات.
تأكد من اجتياز جميع الاختبارات قبل إرسال الرمز الخاص بك. يمكنك إجراء pytest -ra في دليل الجذر لتشغيل جميع الاختبارات.
يمكنك استخدام الوضع المحلي عند تطويره على جهازك المحلي ، إليك معلومات مساعدة سطر الأوامر:
usage: main.py [-h] [-m MODE] [-f FILE] [-o OUTPUT] [-t TOKEN]
optional arguments:
-h, --help show this help message and exit
-m MODE, --mode MODE choose to use local-dev mode or on github action mode.
Valid values are 'local' or 'github'
-f FILE, --file FILE configuration file to read from when running local-dev
mode
-o OUTPUT, --output OUTPUT
output file when running local-dev mode
-t TOKEN, --token TOKEN
Github Access TokenYixin Shen | جوناثان مانج | سيباستيان رول |
Apache-2.0 © Bobankh