To identify regressions and existing exceptions in Sentry, we tag them
with their mach release (the current base revision).
To ensure that Sentry knows the correct order of revisions, we need to
tell it about each one that lands in mozilla-central.
Differential Revision: https://phabricator.services.mozilla.com/D109681
pip-tools 6.0.0 breaks due to a missing importlib-metadata in <py38, plus it removes --index and --no-index from pip-compile. Let's pin our pip-tools version to avoid future bustage like this.
Differential Revision: https://phabricator.services.mozilla.com/D108485
Bug 1694775 had to get a fixup to install the rename utility, that is
not in the base Debian image for buster, while it was there for jessie.
However, we only use rename for a hack when cross-building geckodriver
for Windows, and we don't need to.
Differential Revision: https://phabricator.services.mozilla.com/D106875
Now that all builds use sysroots, we:
- don't need to install -dev packages,
- don't need multi-arch packages,
- don't need workarounds for partial multi-arch awareness,
- however need a few packages that were installed as indirect
dependencies.
While here, we haven't really needed autoconf2.13 since bug 1663863
(except for one job, which switched in bug 1694784)
Differential Revision: https://phabricator.services.mozilla.com/D106357
We don't need the valgrind package for the valgrind.h header anymore,
because it's in the sysroot, and we only needed the package in the build
docker image because of the header. We still do need it in the valgrind
build image, because we run valgrind in the builds using that image.
The valgrind build image Dockerfile doesn't need an update because
valgrind will be pulled through the install of valgrind-dbg that already
happens there.
Differential Revision: https://phabricator.services.mozilla.com/D106355
While here, remove the -dev packages we have in the toolchain sysroot
and thus don't need in the docker image anymore.
Two exceptions: gcc and binutils need to stay on the older docker image,
at least for now.
Differential Revision: https://phabricator.services.mozilla.com/D106325
This will make the diffs both easier to review, and smaller; the latter
should avoid bumping into arc's hardcoded 4MB size limit for diffs.
Differential Revision: https://phabricator.services.mozilla.com/D106774
Use python3 in more places so we don't have to explicitly install
the python 2.x package.
The newer version of curl in 20.04 will hopefully fix the intermittent
http2 framing errors we've been seeing recently.
Differential Revision: https://phabricator.services.mozilla.com/D106259
ubuntu focal comes with mercurial 5.3.1 which is new enough for us right
now, so install it directly from the distro instead of fetching the
older 4.8.1 from tooltool.
Differential Revision: https://phabricator.services.mozilla.com/D106258
As far as I can tell, we don't use zstandard from python2. As the last
version supporting python2 is 0.14.1, drop installing the python2
version.
Differential Revision: https://phabricator.services.mozilla.com/D105075
This enables us to get a wheel for python cryptography instead of
building it ourselves, which breaks because we don't have a rust
compiler.
Differential Revision: https://phabricator.services.mozilla.com/D105060
With the same -dev packages as per taskcluster/docker/debian-build/Dockerfile
plus valgrind, for the one .h file it contains that we use.
This will later allow local builds to bootstrap them, and CI builds
to avoid relying on docker images for old Debian releases.
Differential Revision: https://phabricator.services.mozilla.com/D104119
This patch changes the formatting of the error lines output by the vismet tasks so they can be properly picked up by the Treeherder parser.
Differential Revision: https://phabricator.services.mozilla.com/D102763
The BaseApp has been renamed to follow org.mozilla.firefox ID.
Additionally update the Docker image used to run the flatpak build.
Differential Revision: https://phabricator.services.mozilla.com/D100647
To build native python packages, the python dev packages are needed.
This should resolve the psutil installation failure.
Differential Revision: https://phabricator.services.mozilla.com/D98197
Install `psutil` when setting up the `mach` `virtualenv`s and stop importing the in-tree version in the build.
Nothing in-tree currently assumes or mandates the installation of `psutil` (all uses of `psutil` are guarded with imports of the form `try : import psutil; except ImportError: psutil = None`), so there's no back-incompatibility concerns here. There will be an awkward period where telemetry will be lacking CPU/disk data for everyone until they re-run `mach bootstrap` or `mach create-mach-environment`, but that will come back as people gradually update their `virtualenv`s.
An alternative to circumvent that issue is REQUIRING that `psutil` be installed by adding an assertion in `mach` that `psutil` can be found (allowing us to remove all the conditional logic in-tree around whether `psutil` is installed), but I wouldn't claim that we're ready to do that and deal with whatever fallout might occur.
Differential Revision: https://phabricator.services.mozilla.com/D90914
To avoid breakage from Ubuntu package upgrades, we split the test image
into two, one that sets up the packages only, and that won't change when
we need to update our scripts, and another that derives from it, that
adds all our scripts and other setup.
Additionally, we work around the recent timeout issues due to the
upgrade of packages.
The timeout itself is due to gst-launch waiting indefinitely when it
crashes, rather than exiting with an error code. Bug 1679491 addresses
this issue, but the core problem is that gst-launch crashes, which seems
to be that some change in libc (presumably "Fix pthread_rwlock_try*lock
stalls") turns `gst_object_unref: assertion '((GObject *)
object)->ref_count > 0' failed` fatal warnings (which were already
happening) into actual crashes (presumably because a race condition is
lost on a use-after-free).
This workaround, however, will stop working as soon as the updated libc
package migrates from bionic-updates into bionic proper, presumaby on
the next 18.04 dot-release. Hopefully, we won't be rebuilding the base
image for a while, avoiding further problems. Eventually, we'll want to
upload the base image to docker hub so that it's set in stone, and
change the FROM in the base image to use that instead.
Differential Revision: https://phabricator.services.mozilla.com/D98045