This commit updates the outdated documentation for producing multi-locale
packages, and also arranges for Android multi-locale packages to produce a
GeckoViewExample binary that has `libs` and `assets/omni.ja`. Together, these
greatly ease multi-locale testing.
Differential Revision: https://phabricator.services.mozilla.com/D160705
This patch adds a `capture_log` flag that will allow a user to capture the logs produced when running the `push_to_try` methods. Currently, we use `subprocess.check_call` which causes hg to hang when we attempt to redirect and gather stdout. Using `subprocess.run` is better as it lets us capture the logs, but the log output is very slow and can easily lead people to believe that hg is hanging when it's not. This results in corrupted repos. Using Popen, the logs are output slower than `check_call`, but faster than `run` so you know something is happening. The speed at which these logs are printed is also why I have this log capturing behind a flag.
This functionality will be used in the `./mach try perf` selector to capture the child revisions produced for the try task config file changes and allow us to produce a PerfCompare link to provide the user.
Differential Revision: https://phabricator.services.mozilla.com/D155980
The download.py script can now run without a clone, which solves e.g.
problems stemming from the temporary git repository on windows.
It also now pulls from github by default, which doesn't suffer from
certificate validation issues like the taskcluster artifacts urls do.
Also, the self-update git-cinnabar subcommand handles upddates itself,
which leaves python out of the loop.
Differential Revision: https://phabricator.services.mozilla.com/D160997
These are changes to decouple the MSIX repackaging from Firefox/browser and
allow repackaging Thunderbird. Branding and MSIX template paths are now found
by inspecting the input file rather than hard-coded values.
Differential Revision: https://phabricator.services.mozilla.com/D159657
By bug 1715232, we added ICU4X license SHA256 hash to whitelist. But when
releasing ICU4X 1.0, license becomes Unicode-DFS-2016 like ICU4C. So I would
like to allow this license to import ICU4X 1.0.
Also, due to dependencies, some crates still use old ICU4X license. Although it
will be fixed by 1.1 release, we keep this hash.
Differential Revision: https://phabricator.services.mozilla.com/D160588
Now that Python's stdlib `venv` is used, `virtualenv` is no longer
needed.
Since mozharness depends on the wheels for `setuptools` and `pip`, and
they were vendored within `virtualenv` we must move them somewhere else.
I've chosen to add `third_party/python/venv/wheels` to hold those wheels
now that `virtualenv` is no longer there.
Depends on D145786
Differential Revision: https://phabricator.services.mozilla.com/D145787
Brew's Python 3.10 causes `virtualenv==20.7.2` to produce a wonky folder
structure (`$venv/opt/homebrew/lib/python3.10/site-packages`?).
This is likely fixed with newer `virtualenv`, but the simpler workaround
here is to use `venv` instead now that Python 3 is always used.
Adds `python3-venv` to docker image so that tests and debian-based tasks
can leverage it.
Differential Revision: https://phabricator.services.mozilla.com/D144872
The version of git-cinnabar that the bootstrap script pulls now doesn't
require Mercurial. Even older versions have been working fine without
Mercurial for a while.
Differential Revision: https://phabricator.services.mozilla.com/D160601
The fix for bug 1759555 involves having rust-analyzer invoke `mach`.
However, `mach` can't be executed directly on Windows systems -- it's a
Python script, not an executable, and so `::CreateProcessW` has no idea
what to do with it.
Work around this by having `mach` explicitly direct `rust-analyzer` to
use `sys.executable` to execute `mach`.
Differential Revision: https://phabricator.services.mozilla.com/D160306
It can be a frustrating experience to push something to e.g. try, get
build errors, fix them, and realize on a subsequent push that there were
other build errors, but since the build failed as soon as it reached the
first error, the logs didn't show them.
While stopping at the first error locally is more helpful locally
(although it still stop immediately and errors are often buried in the
logs), it is actually desirable to avoid stopping on automation.
Differential Revision: https://phabricator.services.mozilla.com/D154327
While we're here, make the setup more consistent across host/target
c/c++, and remove the C compiler warning flags from the C linker flags,
where they are irrelevant.
Differential Revision: https://phabricator.services.mozilla.com/D159358
I noticed that 'branch' is only used in Updatebot in the
Commit Alert task (we made it for Angle.) It doesn't do
anything anywhere else. So assert this in the validation checks
Differential Revision: https://phabricator.services.mozilla.com/D158047
If there is a vendoring section missing in the moz.yaml,
we will error out. Detect this right away and give a better error.
Perform some cleanup since we know we have a vendoring section.
Differential Revision: https://phabricator.services.mozilla.com/D158046