Skip to content
This repository was archived by the owner on May 26, 2025. It is now read-only.

mozilla-extensions/newtab-trainhop

Repository files navigation

New Tab Trainhop

What is this repository for?

This is a repository containing a snapshot of the built Firefox Desktop newtab code at hg revision f6630453da0e. This was a revision that landed soon after the Firefox 138 merge to beta, and was the first change to the code under browser/extensions/newtab. This bug tracked that landing. That change is simply an increase of the New Tab built-in addon version number.

This repository exists for one reason: to help us perform a test in May of 2025 during the Firefox 138 release cycle, where we will update the built-in New Tab to using the code from this repository out-of-band. Since this repository only contains a single change (the increased version), there should be no discernable user-facing difference when we perform this update, save for the version increase (viewable in about:support).

This experiment will prove that we can successfully deploy updates to the New Tab code base using this mechanism.

Notably, however, this repository will only be used during the first experiment. The release engineering team is working on changes that will allow us to ship directly from mozilla-central, rather than requiring us to mirror the code to GitHub.

So after the May 2025 train-hop experiment, we expect to archive this repository.

Verifying the contents of this repository

It is important that we ensure that what is deployed using this mechanism is what we intend to deploy, and that it is what was reviewed. The following is a set of instructions for verifying that this GitHub repository does indeed contain the same set of files for the newtab addon as the intended revision.

  1. Check out revision f6630453da0ee648aba71f89dc2ccede5017295d from mozilla-central (if you're using git and git-cinnabar, this is revision d0347cc9c18ea6903a8dddf6e46b3dc3ed34e129, which you can verify using git cinnabar hg2git f6630453da0e:
$ git cinnabar hg2git f6630453da0e
d0347cc9c18ea6903a8dddf6e46b3dc3ed34e129

$ git checkout d0347cc9c18ea6903a8dddf6e46b3dc3ed34e129
  1. Perform a clobber build. If you want to save time, use an artifact build.
$ ./mach clobber
$ ./mach build # This verification will work with an artifact build, if you want to save time.
  1. Verify that the built artifacts match the contents of the extension directory via SHA hashes
# Replace obj-artifact with whatever you use for your objdir directory
$ cd obj-artifact/dist/xpi-stage/newtab
$ find -L . -type f -print0 | sort -z | xargs -0 sha256sum | sha256sum
14182e307acc76f119bf10d7b98e1da236e0dc4545910b570db66ffab5610a02  -

# Now ensure this matches what is in this repository's `extension` directory.
$ cd ~/newtab-trainhop # or wherever you put your clone
$ cd extension
$ find -L . -type f -print0 | sort -z | xargs -0 sha256sum | sha256sum
14182e307acc76f119bf10d7b98e1da236e0dc4545910b570db66ffab5610a02  -

Both directories are expected to SHA to 14182e307acc76f119bf10d7b98e1da236e0dc4545910b570db66ffab5610a02.

How the extension directory was made

After doing an artifact build of the intended revision, rsync was used to clone the files (and follow symlinks) in the extension folder:

$ rsync -avL obj-artifact/dist/xpi-stage/newtab/ ~/newtab-trainhop/extension/

About

INACTIVE - newtab may2025 train hop

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published