Media/WebRTC/libwebrtc Update Process: Difference between revisions

Moved post loop-ff.sh steps to the end
(Moved comment relevant to prep-repo up to the Update Steps section)
(Moved post loop-ff.sh steps to the end)
Line 43: Line 43:


Running <code>prep-repo.sh</code> with a fresh github clone of moz-libwebrtc will likely display instructions on how to add recent moz-central changes made in <code>third_party/libwebrtc</code> to the top of the patch stack in github.  This is expected and necessary for successfully vendoring changes into <code>third_party/libwebrtc</code>.
Running <code>prep-repo.sh</code> with a fresh github clone of moz-libwebrtc will likely display instructions on how to add recent moz-central changes made in <code>third_party/libwebrtc</code> to the top of the patch stack in github.  This is expected and necessary for successfully vendoring changes into <code>third_party/libwebrtc</code>.
=== Push to elm ===
# after the loop-ff.sh script completes, run the following steps
# to push the new version of libwebrtc to elm
./mach bootstrap --application=browser --no-system-changes
./mach build
hg push -r tip
=== Daily rebase on elm (after completing loop-ff process) ===
Periodically, ideally daily to minimize surprises from mozilla-central, rebasing elm onto the latest mozilla-central is recommended after completing the update process.  Rebases should be completed until the request for merging elm to moz-central is made.
Historical note: we use a script to rebase because 1) it regenerates the moz.build files on the commits where those are changed.  This avoids the typically massive rebase conflict if anyone has touched the build files.  2) it exports/imports each commit individually to limit rebase conflicts on individual patches, making it easier to deal with issues.
bash dom/media/webrtc/third_party_build/elm_rebase.sh
=== Requesting merge from elm to mozilla-central ===
Typically, immediately after the code-freeze has lifted, a request is made for the sheriffs to merge elm to mozilla-central.  This done via email, recently to Sebastian Hengst.
=== Post-merge Steps ===
* After the merge from elm to mozilla-central is complete, the moz-libwebrtc github repo should be updated with the new branch of the commit stack for the new release.  There is script that will make the proper branch name and do the push:
bash dom/media/webrtc/third_party_build/push_official_branch.sh


=== Reacting to loop-ff.sh ===
=== Reacting to loop-ff.sh ===
Line 111: Line 91:


* Simple changes don't require individual review, but if you'd feel better about getting reviewed, push the commit prior to elm (which will break all the builds). Then put the patch up for review. After r+, land it using Lando to elm.
* Simple changes don't require individual review, but if you'd feel better about getting reviewed, push the commit prior to elm (which will break all the builds). Then put the patch up for review. After r+, land it using Lando to elm.
=== Push to elm ===
# after the loop-ff.sh script completes, run the following steps
# to push the new version of libwebrtc to elm
./mach bootstrap --application=browser --no-system-changes
./mach build
hg push -r tip
=== Daily rebase on elm (after completing loop-ff process) ===
Periodically, ideally daily to minimize surprises from mozilla-central, rebasing elm onto the latest mozilla-central is recommended after completing the update process.  Rebases should be completed until the request for merging elm to moz-central is made.
Historical note: we use a script to rebase because 1) it regenerates the moz.build files on the commits where those are changed.  This avoids the typically massive rebase conflict if anyone has touched the build files.  2) it exports/imports each commit individually to limit rebase conflicts on individual patches, making it easier to deal with issues.
bash dom/media/webrtc/third_party_build/elm_rebase.sh
=== Requesting merge from elm to mozilla-central ===
Typically, immediately after the code-freeze has lifted, a request is made for the sheriffs to merge elm to mozilla-central.  This done via email, recently to Sebastian Hengst.
=== Post-merge Steps ===
* After the merge from elm to mozilla-central is complete, the moz-libwebrtc github repo should be updated with the new branch of the commit stack for the new release.  There is script that will make the proper branch name and do the push:
bash dom/media/webrtc/third_party_build/push_official_branch.sh
24

edits