Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.
To produce this patch I did all of the following:
1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.
2. Run ./mach lint --linter black --fix
3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.
4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.
5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).
# ignore-this-changeset
Differential Revision: https://phabricator.services.mozilla.com/D94045
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.
To produce this patch I did all of the following:
1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.
2. Run ./mach lint --linter black --fix
3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.
4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.
5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).
# ignore-this-changeset
Differential Revision: https://phabricator.services.mozilla.com/D94045
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.
To produce this patch I did all of the following:
1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.
2. Run ./mach lint --linter black --fix
3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.
4. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).
# ignore-this-changeset
Differential Revision: https://phabricator.services.mozilla.com/D94045
This includes scripts that involve `tup`, jobs that build `tup` in automation, `tup.configure`, and related infrastructure and documentation.
Differential Revision: https://phabricator.services.mozilla.com/D73921
This moves the object directory and source directories around in all mozharness
jobs, to allow enabling caching on windows builders.
This makes a number of changes that all need to land at once:
- Move the source checkout for the workspace cache mount, to the checkouts
cache mount.
- Makes the object directoy from underneath the source directory, to directly
in the work directory (which is still under `workspace`).
- Sets the object directory to `obj-build` instead of `obj-firefox`.
- Stops caching the workspace directory (it is still a volume in docker workers,
so writes perform well; a followup revision add some checks around this).
- Removes one level of directory in the mozharness workdir (things were under
`workspace/build`, but are now just under `workspace/`.
- Adjust paths in environment variables and artifact specifications to match
the above changes.
Differential Revision: https://phabricator.services.mozilla.com/D62482
--HG--
extra : moz-landing-system : lando
This config item hasn't been used in the mozharness code since bug 1575471,
and hasn't been useful since gtest and xpcshell tests moved out of `make
check`.
Differential Revision: https://phabricator.services.mozilla.com/D61776
--HG--
extra : moz-landing-system : lando
Mozharness currently deals with buildid in two places:
- It passes `MOZ_BUILD_DATE` through the environment in a complicated way,
and sets it if it isn't set.
- It verifies that the buildid of the generated package matches that the one it
determined.
The former is duplicate code, and the later requires knowing details of the
build for little value.
Differential Revision: https://phabricator.services.mozilla.com/D61607
--HG--
extra : moz-landing-system : lando
An error in updating the 64_geckoview_docs.py file (missing comma) caused perma fail of gv-docs task.
Differential Revision: https://phabricator.services.mozilla.com/D53942
--HG--
extra : moz-landing-system : lando
Slightly reorganize file structure to make copying files over easier. Needs to land in conjunction with https://github.com/mozilla/geckoview/pull/94, which should land first.
Differential Revision: https://phabricator.services.mozilla.com/D48564
--HG--
rename : mobile/android/docs/geckoview/Gemfile => mobile/android/docs/Gemfile
rename : mobile/android/docs/geckoview/_config.yml => mobile/android/docs/_config.yml
extra : moz-landing-system : lando
Slightly reorganize file structure to make copying files over easier. Needs to land in conjunction with https://github.com/mozilla/geckoview/pull/94, which should land first.
Differential Revision: https://phabricator.services.mozilla.com/D48564
--HG--
rename : mobile/android/docs/geckoview/Gemfile => mobile/android/docs/Gemfile
rename : mobile/android/docs/geckoview/_config.yml => mobile/android/docs/_config.yml
extra : moz-landing-system : lando
Slightly reorganize file structure to make copying files over easier. Needs to land in conjunction with https://github.com/mozilla/geckoview/pull/94, which should land first.
Differential Revision: https://phabricator.services.mozilla.com/D48564
--HG--
rename : mobile/android/docs/geckoview/Gemfile => mobile/android/docs/Gemfile
rename : mobile/android/docs/geckoview/_config.yml => mobile/android/docs/_config.yml
extra : moz-landing-system : lando
MANUAL PUSH: (a) This patch will cause a ton of toolchain rebuilds, and might as well do that on central right now rather than autoland, and (b) We want to test the new Taskcluster instance today, and will be testing THAT on m-c, so we'll need this patch on m-c before we can test the new cluster as well.
tooltool at present needs to support production (legacy cluster) but its auth system is tied to that cluster.
Which means that using tooltool in the new cluster ahead of TCW is harder. We have swapped the credentials for the tooltool staging deployment to use the new tc cluster, so when we're using the taskcluster proxy we need to have it swap between legacy and new tooltool url's depending on which cluster (ROOT_URL) we're using.
This patch is intended to be ok to land on production code today, and could be backed out after the TCW when production tooltool will be configured to work with the firefox-ci cluster itself.
Differential Revision: https://phabricator.services.mozilla.com/D52089
MANUAL PUSH: (a) This patch will cause a ton of toolchain rebuilds, and might as well do that on central right now rather than autoland, and (b) We want to test the new Taskcluster instance today, and will be testing THAT on m-c, so we'll need this patch on m-c before we can test the new cluster as well.
tooltool at present needs to support production (legacy cluster) but its auth system is tied to that cluster.
Which means that using tooltool in the new cluster ahead of TCW is harder. We have swapped the credentials for the tooltool staging deployment to use the new tc cluster, so when we're using the taskcluster proxy we need to have it swap between legacy and new tooltool url's depending on which cluster (ROOT_URL) we're using.
This patch is intended to be ok to land on production code today, and could be backed out after the TCW when production tooltool will be configured to work with the firefox-ci cluster itself.
Differential Revision: https://phabricator.services.mozilla.com/D52089
--HG--
extra : amend_source : 479de00fdb9a93fc4d4211613bdc3ebf965f6492
This does many things:
1) stops producing (and consuming) `FennecJNI*` JNI wrappers
2) removes the :app and :thirdparty Gradle projects
3) removes relevant pieces of the Gradle target configuration
4) updates lints
5) purges old configurations
After this commit, the `mobile/android` project/application builds
only GeckoView.
Differential Revision: https://phabricator.services.mozilla.com/D46536
--HG--
extra : moz-landing-system : lando
Currently, we have no real visibility on the time spent after the build
finished, despite the fact that a large chunk is actually happening via
make check (although thankfully more and more of it is moving out to
separate tasks).
Also, the mozharness machinery for make check dates from when we were
running in buildbot and takes care of turning builds orange instead of
red in case of failure, etc. which doesn't do anything useful anymore.
Differential Revision: https://phabricator.services.mozilla.com/D42806
--HG--
extra : moz-landing-system : lando
Android artifacts (GeckoView AARs, GeckoViewExample (and Fennec) APKs)
require native libraries (`libxul.so`) and an omnijar (`omni.ja`).
These are produced by `mach package` (really, the `stage-package`
target). Engineers essentially never want a build without a package
for mobile/android. This adds mobile/android-only tiers that run
`mach package` and then `mach android assemble-app`. The latter
consumes `libxul.so` and `omni.ja` to produce _all the things_
relevant to GeckoView engineers.
Differential Revision: https://phabricator.services.mozilla.com/D41450
--HG--
extra : moz-landing-system : lando
API lint is arguably the most valuable lint of all, but it's also hard
to fit into the Phab ecosystem, since there's no place to hang the
"API hash not correct" message in the case when the hash hasn't been
updated at all. Therefore, this commit doesn't convert it. See also
https://github.com/mozilla-mobile/gradle-apilint/issues/61 for adding
file/line information to API lint.
Differential Revision: https://phabricator.services.mozilla.com/D35277
--HG--
rename : mobile/android/config/mozconfigs/android-api-16-frontend/nightly => mobile/android/config/mozconfigs/android-api-16/nightly-android-lints
extra : moz-landing-system : lando
The 3-tier PGO builds used a separate mozconfig called 'profile-use' for
the final tier. This created a problem when it rode to beta, since the
same mozconfig was used for all trees, which meant we ended up with
nightly branding on beta builds.
With the PGO-enabling logic in common mozconfigs, we can enable it by
setting the MOZ_PGO_PROFILE_USE environment variable from the task
definition. All of the final-tier PGO builds now use the nightly, beta,
etc mozconfigs like before, so branding should be intact.
Differential Revision: https://phabricator.services.mozilla.com/D33172
--HG--
extra : moz-landing-system : lando
We have moved per-branch configuration to taskcluster, so we can remove that
support in mozharness.
Differential Revision: https://phabricator.services.mozilla.com/D24564
--HG--
extra : moz-landing-system : lando
The release mozconfigs set `MOZ_PGO` and all shipping builds set the `nightly`
mozharness config, so we don't need to additionaly set PGO based on the branch.
Differential Revision: https://phabricator.services.mozilla.com/D24563
--HG--
extra : moz-landing-system : lando
The only thing this affects is the default update channel, but for shipping builds, this is set
explicitly via taskcluster, and for other branches, defaults to `default`.
Differential Revision: https://phabricator.services.mozilla.com/D24562
--HG--
extra : moz-landing-system : lando
Taskcluster has authorative information about the repository being built, so
pass that to mozharness, rather than have mozharness reconstruct it from
hand-maintained mozharness config.
Differential Revision: https://phabricator.services.mozilla.com/D24561
--HG--
extra : moz-landing-system : lando
This is the first stage of the Android PGO task pipeline to generate an
instrumented build.
Differential Revision: https://phabricator.services.mozilla.com/D22824
--HG--
extra : source : b96dd954a456d8088a3ceda66f51d4106f516b4a