مشارکت در پروژه WebRTC

توافقنامه مجوز

WebRTC از وصله ها/کشش ها برای ویژگی ها و رفع اشکال استقبال می کند!

برای مشارکت‌کنندگان خارج از Google، دستورالعمل‌های داده شده در قرارداد مجوز مشارکت‌کننده فردی Google را دنبال کنید. در همه موارد، مشارکت‌کنندگان باید قبل از پذیرش مشارکت، قرارداد مجوز مشارکت را امضا کنند. لطفاً توافق نامه یک فرد یا شرکت را در صورت لزوم تکمیل کنید.

نمونه های کمک کننده

اگر قصد دارید یک نمونه جدید اضافه کنید یا تغییرات قابل توجهی در نمونه موجود ایجاد کنید، توصیه می کنیم با ایجاد یک شماره جدید شروع کنید تا بتوانیم جزئیات را مورد بحث قرار دهیم.

هنگام ایجاد یک نمونه جدید یا به‌روزرسانی نمونه موجود، لطفاً مطمئن شوید که آزمایش‌های موجود را نیز ایجاد کرده یا به‌روزرسانی می‌کنید. همه آزمایش‌های موجود در آن مخزن به‌عنوان آزمایش‌های رابط کاربری Nightwatch.JS اجرا می‌شوند، بنابراین لطفاً همان طرح را در طراحی خودتان دنبال کنید.

دستورالعمل ها

مشارکت در اولین پچ شما

برای آپلود اولین CL خود باید کمی آمادگی داشته باشید:

  • بررسی کنید و کد را بسازید
  • قرارداد مشارکت‌کننده را پر کنید (به بالا مراجعه کنید)
  • اگر قبلاً هرگز کد ارسال نکرده‌اید، باید نام و اطلاعات تماس خود (یا سازمانتان در صورتی که قرارداد مشارکت‌کننده توسط سازمان شما امضا شده باشد) و اطلاعات تماس خود را به فایل AUTHORS اضافه کنید.
  • به https://webrtc.googlesource.com/new-password بروید و با حساب ایمیل خود وارد شوید. این باید همان حسابی باشد که توسط git config user.email شده است
  • سپس، اجرا کنید: git cl creds-check . اگر خطایی دریافت کردید، در بحث-webrtc کمک بخواهید

لازم نیست موارد بالا را تکرار کنید. پس از همه اینها، شما آماده آپلود هستید:

در حال آپلود اولین پچ

اکنون که حساب خود را راه اندازی کرده اید، می توانید آپلود واقعی را انجام دهید:

  • این کار را انجام دهید:

    • با فرض اینکه در شعبه اصلی هستید:
      • git checkout -b my-work-branch
    • تغییرات ایجاد کنید، به صورت محلی بسازید، تست ها را به صورت محلی اجرا کنید

      • git commit -am "Changed x, and it is working"
      • git cl upload

      این یک ویرایشگر متنی را باز می کند که تمام پیام های commit محلی را نشان می دهد و به شما امکان می دهد قبل از تبدیل شدن به توضیحات CL آن را تغییر دهید.

      ورودی اشکال را به درستی پر کنید. لطفاً پیشوند ردیاب مشکل و شماره مشکل را مشخص کنید که با دو نقطه از هم جدا شده اند، به عنوان مثال webrtc:123 یا chromium:12345 . اگر پیشوند ردیاب مشکل و شماره مشکل ندارید، کافیست None را اضافه کنید.

      برای ادامه آپلود در سرور بررسی کد WebRTC، فایل را ذخیره و ببندید.

      این دستور پیوندی مانند https://webrtc-review.googlesource.com/c/src/+/53121 را چاپ می کند. اگر همه چیز خوب پیش برود

  • این پیوند CL را کلیک کنید

  • اگر وارد نشده اید، روی دکمه ورود به سیستم در بالا سمت راست کلیک کنید و با ایمیل خود وارد شوید

  • روی Start Review کلیک کنید و یک بازبین اضافه کنید. می‌توانید در فایل‌های OWNERS در اطراف مخزن، بازبین‌ها را بیابید (نزدیک‌ترین مورد را به تغییرات خود بگیرید)

  • به هر گونه بازخورد بازبین رسیدگی کنید:

    • تغییرات ایجاد کنید، به صورت محلی بسازید، تست ها را به صورت محلی اجرا کنید
      • git commit -am "Fixed X and Y"
      • git cl upload
  • هنگامی که بازبینی کننده LGTM پچ را تأیید کرد، از آنها بخواهید آن را در صف commit قرار دهند.

توجه: در ویندوز، برای اینکه .gitcookies فایل gitcookies. را پیدا کند، باید موارد بالا را در پوسته bash Git اجرا کنید.

Trybots

اگر زیاد در WebRTC کار می‌کنید، می‌توانید برای حقوق امتحان درخواست دهید. این به این معنی است که می‌توانید trybots را اجرا کنید، که همه آزمایش‌ها را روی همه پلتفرم‌ها اجرا می‌کنند. برای انجام این کار، یک باگ را در bugs.webrtc.org ثبت کنید و از تیم EngProd بخواهید که به شما حقوق امتحان بدهد.

برای اجرای tryjob، یک CL را همانطور که در بالا توضیح داده شد آپلود کنید و روی CQ dry run یا Choose Trybots در Gerrit UI کلیک کنید. برای این کار باید حقوق آزمایشی داشته باشید. در غیر این صورت، از داور خود بخواهید که ربات ها را برای شما راه اندازی کند.