Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cef-beta-tracker

The four-week Chromium cadence as a scheduled job.

If you ship a CEF or Chromium fork, you carry a patch series that has to be re-applied every time upstream moves. The expensive moment is finding out, on the day stable ships, that three of your patches no longer apply. This repository moves that moment four weeks earlier: a scheduled job checks your series against the next branch while it is still beta, and posts a report that says which patch, which file, which layer.

What it does

track.py checks out a target branch of a git repository (CEF, or a Chromium checkout), runs git apply --check on every patch in a directory, and writes a Markdown table:

Patch Result Files Layers
0003-spellcheck-host.patch CONFLICT components/spellcheck/browser/spellcheck_host_impl.cc spellcheck
0004-print-preview.patch applies with offset
0005-caret-width.patch clean

The exit code is the number of conflicts, so the job goes red on the day something breaks and green the day you fix it. layers.py maps paths to layers (blink editing, content/browser, net, skia, cef/api and so on) so the report reads as work, not as filenames.

The included GitHub Actions workflow clones CEF shallowly every Monday, runs the check against a branch you name, and publishes the table as the job summary and an artifact.

Use it

git clone https://github.com/INNERLUXES/cef-beta-tracker
cd cef-beta-tracker
git clone --depth=1 --branch 7778 https://github.com/chromiumembedded/cef.git ../cef
# put your series in ./patches, in apply order
python track.py --repo ../cef --branch 7778 --patches ./patches --no-fetch

For Chromium-side patches point --repo at chromium/src and --branch at a tag such as refs/tags/152.0.7977.0. The Chromium checkout is yours to provide; the tool only fetches and checks.

How we run it for real

Inside a fork's own repository, on a self-hosted runner that already has the Chromium checkout, with the branch number bumped by a small script that reads the current beta from chromiumdash.appspot.com. The report goes to the team channel. A silent bot is treated as a broken bot.

That routine is what INNERLUXES sells to teams that keep a Chromium, CEF or Electron fork alive: the bot in your repo, conflicts listed four weeks before stable, the fixes landed under your review, a built engine within the week of every release. This repository is the public, minimal version of the bot.

MIT licence.

About

Check a CEF or Chromium patch series against the next branch on a schedule; the report names the patch, file and layer that will conflict.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages