Auto: يتم إنشاء الإصدارات على الرغم من وجود تسمية عدم التحرير

تم إنشاؤها على ١٤ يناير ٢٠١٩  ·  11تعليقات  ·  مصدر: intuit/auto

صف الخلل

في أحد مستودعاتنا ، نشهد عمليات نشر متسقة عندما نتوقع عدم حدوث أي نشر. يحدث هذا الاضطراب على وجه التحديد عندما يقدم renovatebot طلب سحب لتحديث التبعيات ، لذلك قد يكون هو كيفية تعامله مع عملية الالتزام / الدمج.

إليك مثال على العلاقات العامة حيث توجد تسمية عدم الإصدار ( Version: Trivial في حالتنا) ولكن الإصدار لا يزال يحدث. فيما يلي نتائج CI لهذا الدمج المحدد.

hipstersmoothie سأقوم بالتحديث مع وضع مطول عندما أحصل على فرصة. إذا كان بإمكاني مطاردته لشيء معين سأفتح العلاقات العامة.

لإعادة إنتاج

لم أحدد بالضبط ما هو القاسم المشترك هنا. هذا هو المكان الوحيد في مؤسستنا حيث يقوم renovatebot تلقائيًا بدمج تحديثات التعليمات البرمجية بحيث يمكن

سلوك متوقع

لا ينبغي إطلاق أي تحرير.

bug

التعليق الأكثر فائدة

zephraph يجب أن يتم إصلاح هذا في v2.5.6 . اسمحوا لي أن أعرف إذا كان لا يزال لديك مشاكل!

ال 11 كومينتر

كان له مثيل آخر على ريبو مختلف. https://github.com/artsy/palette/compare/v2.25.10...v2.25.11. تم إجراء هذا تلقائيًا أيضًا ، ولكن عن طريق الخطر بدلاً منrenovatebot. ربما تكون هذه هي الطريقة التي تدمج بها الروبوتات العلاقات العامة؟

يمكن ان تكون. تتطلب تسميات إصدار التخطي أن يكون للرأس التسمية المرتبطة.

يجب أن يبحث على الأرجح عن العلاقات العامة الأخيرة بدلاً من الالتزام الأخير.

هممم ... أجل. لذلك ، عندما كنت أقوم ببناء هذا ، نظرت بين تجزئة الرأس وتجزئة الإصدار الأخير واستخدمت ذلك لمعرفة ماهية العلاقات العامة.

https://github.com/artsy/reaction/pull/1407/files#diff -ff397bdd24eed50e2a2cade2792a9d80R100

zephraph فقط

gitlog:

  1. البعض يرتكب روبوتًا أو شخصًا تم إنشاؤه بعد الدمج
  2. الالتزام الذي يحتوي على العلاقات العامة مع التسمية skip-release

نتيجة:

auto لا skip-release لأن الالتزام 2 ليس في الجزء العلوي من gitloh

لم يكن هناك التزام تم إجراؤه بعد الدمج. يبدو أن الدمج نفسه. عندما يدمج روبوت (أعتقد أنه كذلك ، ولكن قد يكون ذلك مصادفة) ، فإن العلاقات العامة يتم إصدارها حتى عند وجود علامة skipReleaseLabels . يمكنني العثور على المزيد من الأمثلة إذا لزم الأمر.

إليك أحدث مثال (مشابه للمثال أعلاه).

  1. https://github.com/artsy/renovate-config/pull/164 تم إنشاؤه بواسطة التجديد
  2. التجديد المعين Version: Trivial للعلاقات العامة (وهو في skipReleaseLabels )
  3. Renovate يدمج PR تلقائيًا
  4. تم قطع الإصدار الجديد بالرغم من وجود تسمية skipReleaseLabels

لا يحتوي دمج العلاقات العامة هذا على رقم علاقات عامة في موضوع الالتزام

screen shot 2019-01-17 at 2 53 01 pm

كل من يعمل لديه رقم العلاقات العامة

screen shot 2019-01-17 at 2 54 47 pm

يعتمد auto على هذا الرقم في رسالة الالتزام للحصول على رقم PR:

دمج:
https://github.com/intuit/auto-release/blob/5cbccf46a9b49b12210325e7332d9f5c26b44ed1/src/log-parse.ts#L73

قرع:
https://github.com/intuit/auto-release/blob/5cbccf46a9b49b12210325e7332d9f5c26b44ed1/src/log-parse.ts#L94

لذلك يبدو أن هناك شيئًا ما يحدث عند دمج تلك العلاقات العامة. هل هو تغيير الأساس الذي يحدث؟

نحتاج إلى دالة تُرجع pr المرتبطة بـ SHA ولكني أواجه مشكلة في العثور على طريقة octokit المناسبة

لقد ذهب hmm للتو في طريق محاولة مطابقة الالتزام الرئيسي بالالتزام في العلاقات العامة ولكن يبدو أنه يحتوي على SHAs مختلفة.

screen shot 2019-01-18 at 12 28 05 am

screen shot 2019-01-18 at 12 28 48 am

هذا محبط للغاية. الآن ليس لدي أدنى فكرة عن كيفية مطابقة هذه الالتزامات مع العلاقات العامة الخاصة بهم

merge_commit_sha للإنقاذ

zephraph يجب أن يتم إصلاح هذا في v2.5.6 . اسمحوا لي أن أعرف إذا كان لا يزال لديك مشاكل!

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات