Page 1 of 1

Determine right commit for CEF for production

PostPosted: Sun Mar 28, 2021 9:43 pm
by linuxcef9
Hello,

I am bit confused about how to go about picking the right commit for deploying CEF based application to production environment.

I first go to https://bitbucket.org/chromiumembedded/ ... -supported and that shows 4430 is latest SUPPORTED RELEASE BRANCH.

https://bitbucket.org/chromiumembedded/ ... ranch/4430 has list of commits for that branch. But which commit is apt for CEF based app?

For example, if I was doing my builds on 19th March, I would have picked up commit 2e4c475 (https://bitbucket.org/chromiumembedded/ ... 885f2248d2) as that would've been top of the tree commit on branch 4430.

However, I would miss out on 7 commits that went after 19th March and they might be commits for fixing out critical vulnerabilities. How do I know that there won't be any commits made on the branch, so I know that branch is stable and has all required bug fixes. How do I pick up the right branch/commit combination for CEF that has been thoroughly tested and has been stable?

Thanks in advance!

Re: Determine right commit for CEF for production

PostPosted: Sun Mar 28, 2021 10:16 pm
by magreenblatt
There is no “final” commit on a stable branch. Stable branches will continue to receive Chromium updates and bug fixes until they are no longer supported.

Re: Determine right commit for CEF for production

PostPosted: Sun Mar 28, 2021 11:00 pm
by linuxcef9
If that's the case, then is the solution to just build CEF based app on last unsupported branch i.e Legacy Release Branches ? As that would be "locked" with no further commits?

Re: Determine right commit for CEF for production

PostPosted: Mon Mar 29, 2021 1:14 am
by ndesktop
My approach is to use the stable branch (not the newest, which is the one entering beta channel) - so as is it now, 4389.
Then for each commit appearing after:
- if there are no chromium changes, cherry pick the newer changes onto my build branch and produce a new build
- if there are chromium changes, either cherry-pick them as well (not a good practice, but for me each build is disjunct from the next, I have to maintain separate branches and builds and sometimes, when a branch is near EOL, I prefer this because is quicker), or rebase
according to the documentation.

Re: Determine right commit for CEF for production

PostPosted: Mon Mar 29, 2021 9:21 am
by magreenblatt
linuxcef9 wrote:If that's the case, then is the solution to just build CEF based app on last unsupported branch i.e Legacy Release Branches ? As that would be "locked" with no further commits?

What are you trying to accomplish? Why does it matter if there are additional commits on the branch that you're using?

Re: Determine right commit for CEF for production

PostPosted: Mon Mar 29, 2021 12:18 pm
by linuxcef9
My approach is to use the stable branch (not the newest, which is the one entering beta channel) - so as is it now, 4389.


@ndesktop, how did you determine it's 4389 and not 4430

What are you trying to accomplish? Why does it matter if there are additional commits on the branch that you're using?


I need to "lock" my build of CEF so that I can have a valid build which can be tested end to end by QE. If there are additional commits, I would have to again
build my CEF based app and run our tests to ensure there are no regressions etc

As an example, when 4324 branch was supported release branch in February, I did our CEF based app build based off commit be147ed (https://bitbucket.org/chromiumembedded/ ... ranch/4324). QE did sanity testing and everything looked good. But 6 days later, there was another commit https://bitbucket.org/chromiumembedded/ ... 930e0e7ffe which fixed an issue which affected our app.

So I want to understand what would be best way for me to select the right branch and commit to ensure we do build-test-deploy cycle only once.

Thanks again.

Re: Determine right commit for CEF for production

PostPosted: Mon Mar 29, 2021 12:37 pm
by magreenblatt
There will always be new versions that fix something. I suggest you do your build/test cycle based on a calendar. For example, update to the most recent CEF stable build every 2 weeks.

Re: Determine right commit for CEF for production

PostPosted: Tue Mar 30, 2021 4:27 am
by ndesktop
linuxcef9 wrote:@ndesktop, how did you determine it's 4389 and not 4430

It's a combination of
- CEF wiki Branches and building > Current Release Branches (Supported), which says
"Support for newer branches begins when they enter the Chromium beta channel."
so 89/4389 is the most stable, while 90/4430 is beta.
There might be timings when both are in stable, for example 90.4389 becomes stable, and CEF, obviously, can move 90.4430 as stable and bring 91.xxxx as the new beta in the span of the few days/weeks.
- Chrome release timeline schedule or dash schedule
- Chromium Development Calendar, which is more of an estimation (but gives a good idea on what's next)