Overarching goal: a tool that can be used by an Eng, PM, TPM to assess the viability of the most recent revision (or a specific revision) of the newtab code in mozilla-central (or main) to train-hop to Beta and / or Release.
Train-hop compatibility state from CI
Displays train-hop compatibility meta bug stats, and reminds users when a compatibility shim can be removed.
Localization state (are the strings displayed by default localized in all of the supported locales? If not, which locales are localized and which are not)?
I want to know if the en-US newtab.ftl is different from the one included in the XPI, because this means that the localizations need to be updated before a train-hop can possibly proceed.
Glean / Metrics state to see if runtime metrics or pings need to be generated.
Existing experiments and rollouts on each channel, including existing train-hop jobs
Version number of what’s in main and display it
Since right now we bump the version number manually, we should also check deployments to see if the major and minor version numbers match with a deployment, which indicates that a minor version bump is necessary.
Nightly: 144.0.0
Beta and Release: 144.0.20250820.0800
Then bump Nightly to 144.1.0
I want this to be a web-based tool that I can deploy on, say, GitHub pages. I want it to have no server component, I want it to be a normal webpage that uses JS to query Taskcluster and Firefox Nightly repository to produce its report. And then maybe cache the results locally (since once you’ve checked a particular revision, the results are not going to change).
User story: Amy wants to know if the current codebase on the top of Firefox’s main repository is ready for doing a train-hop. She loads the web-based tool, which automatically queries the most recent merge commit to main to assess its readyness. Amy gets an easy to read report which allows her to know if there’s any work to do to make New Tab more ready to do a train-hop (for example, updating strings, regenerating runtime metrics, fixing train-hop compatibility problems, etc). She realizes that there is some work to do before New Tab can be train-hopped, so she goes and files some bugs to make that happen.