9179 Commits

Author SHA1 Message Date
Mike Hommey
2e05ea66d4 Bug 1890935 - Bump the minimum version of Rust to 1.76. r=firefox-build-system-reviewers,sergesanspaille
Differential Revision: https://phabricator.services.mozilla.com/D207239
2024-04-30 07:29:43 +00:00
serge-sans-paille
62e2bfb60b Bug 1891665 - Restore generator evaluation in presence of multiple backends r=ahochheiden
Original bug introduced in 1888370.

Differential Revision: https://phabricator.services.mozilla.com/D208888
2024-04-29 19:08:27 +00:00
Cristian Tuns
4e2876c321 Backed out changeset b685d0db4248 (bug 1872242) for causing py3 failures in test_commit.py CLOSED TREE 2024-04-29 13:27:46 -04:00
ahochheiden
f55cd85614 Bug 1872242 - Change how the last segment of milestone_winversion is generated to improve uniqueness r=firefox-build-system-reviewers,glandium
The previous implementation used days since Jan 1 2000 for the last
16-bit segment. This was not unique enough and caused issues with
Antivirus software if two different channels were built on the same day.

The new approach uses hours since the last milestone bump and uses the
VCS to determine how long ago that was relative to the build time. This
means it will always reset when a new cycle begins, but still be unique
since the digits in the first 3 segments have incremented.

We also now use two of the 16-bits to encode the channel (nightly, beta,
ESR, and release). So two channels built within the same hour will still
be unique.

Using only 14-bits to store the 'hours since version bump', we have
about ~682 days from a version bump before we reach the maximum value we
can store. If a build is done after that point, the segment value will
always be the maximum value for that channel.

Differential Revision: https://phabricator.services.mozilla.com/D200989
2024-04-29 16:48:10 +00:00
Nick Alexander
dc4c630d0d Bug 1893365 - Part 2: Ignore packaged update frameworks. r=bytesized
We don't want the packaged update frameworks, we only want the
localbuild variants fetched from the `update_framework_artifacts`
extra archive.  These don't impact builds, but they clutter the object
directory and are misleading.

Differential Revision: https://phabricator.services.mozilla.com/D208662
2024-04-25 20:31:12 +00:00
Erik Nordin
c8c19a8bb3 Bug 1893022 - Move Select Translations Fluent Strings out of Preview r=fluent-reviewers,flod
Moves the Fluent strings for Select Translations out of
locales preview and into the en-US locale to mark them
to be translated by localizers for release.

Differential Revision: https://phabricator.services.mozilla.com/D208383
2024-04-25 07:03:31 +00:00
Tooru Fujisawa
062a816962 Bug 1893252 - Skip MozillaBuild version check outside of MozillaBuild. r=firefox-build-system-reviewers,ahochheiden
Differential Revision: https://phabricator.services.mozilla.com/D208561
2024-04-25 01:19:51 +00:00
Nick Alexander
33e359481d Bug 1885985 - Produce and consume macOS frameworks for artifact builds. r=spohl,application-update-reviewers,bytesized,firefox-build-system-reviewers,glandium
This patch:

1. Produces additional frameworks as part of every build.  In compile
   builds, the frameworks are built; in artifact builds, the frameworks
   binaries are taken from fetched artifacts.  It's not easy to compile a
   single framework with the same name twice in the `moz.build` DSL, so
   some file shuffling is done in `Makefile.in` files to arrange the
   correct layout.

2. Packages and uploads a new `update_framework_artifacts` extra
   archive for artifact builds to consume.

3. Consumes the new extra archive in artifact builds.

Produced frameworks live in
`dist/macos_framework_artifacts/xyz.framework/**`.

Consumed frameworks are made availabe to artifact builds in
`dist/macos_framework_artifacts`.

Bug 1885985 - Part 2:

Differential Revision: https://phabricator.services.mozilla.com/D205936
2024-04-24 20:51:25 +00:00
Jan-Erik Rediger
d23d51f602 Bug 1891745 - Update to Glean v60 and glean_parser v14 r=TravisLong,supply-chain-reviewers,mach-reviewers,android-reviewers,firefox-desktop-core-reviewers ,mconley,ahal,kaya
Differential Revision: https://phabricator.services.mozilla.com/D207869
2024-04-24 19:14:16 +00:00
Ryan VanderMeulen
d49f4481b3 Bug 1892371 - Update to JDK 17.0.11. r=geckoview-reviewers,amejiamarmol
Differential Revision: https://phabricator.services.mozilla.com/D208279
2024-04-23 21:19:48 +00:00
Sylvestre Ledru
4613809d59 Bug 1892670 - Upgrade some mach doc dependencies r=firefox-source-docs-reviewers,ahal
Differential Revision: https://phabricator.services.mozilla.com/D208109
2024-04-22 18:57:20 +00:00
Cristian Tuns
f1d454ad58 Backed out changeset 390c5748d868 (bug 1892198) for causing Bug 1892493. CLOSED TREE 2024-04-19 15:46:42 -04:00
Cristina Horotan
efafc0cd7b Backed out changeset a6309c1903e7 (bug 1885985) for busted artifact builds a=backout 2024-04-19 18:21:33 +03:00
serge-sans-paille
074aeb56b5 Bug 1892198 - No longer support linkerscript style for moz_expand_libs r=glandium
@file are supported by gcc since gcc 7 and by clang since clang 3.x,
which removes the need for linker script to list input files.

We cannot directly use @file from the compiler driver (it would expand
to a large number of arguments and hit the linker limit) so pass
-Wl,@FILE instead, which is supported since binutils 2.17.

As a side effect this removes the LTO dependency from the check.

Differential Revision: https://phabricator.services.mozilla.com/D207839
2024-04-19 09:31:13 +00:00
serge-sans-paille
e003bc34c6 Bug 1891778 - Move mozilla_build_version out of mozbuild/util.py r=ahochheiden
Differential Revision: https://phabricator.services.mozilla.com/D207594
2024-04-19 09:08:57 +00:00
serge-sans-paille
420631590e Bug 1891776 - Split mkdir and ensureParentDir from mozbuild/util.py r=perftest-reviewers,afinder
Differential Revision: https://phabricator.services.mozilla.com/D207593
2024-04-19 09:08:56 +00:00
serge-sans-paille
092fe932b8 Bug 1891774 - Move lock file utility out of mozbuild/util.py r=ahochheiden
Differential Revision: https://phabricator.services.mozilla.com/D207592
2024-04-19 09:08:56 +00:00
serge-sans-paille
da58f10c60 Bug 1891773 - Remove process_time from mozbuild/util.py r=ahochheiden
Differential Revision: https://phabricator.services.mozilla.com/D207591
2024-04-19 09:08:56 +00:00
Tooru Fujisawa
127341e842 Bug 1892103 - Remove ./mach esmify command. r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D207927
2024-04-19 08:21:17 +00:00
Stanca Serban
4d62b8911e Backed out 2 changesets (bug 1890935, bug 1882209) for causing Android build bustages. CLOSED TREE
Backed out changeset 05cb55554fc0 (bug 1882209)
Backed out changeset 67b0625e2cfa (bug 1890935)
2024-04-19 08:07:52 +03:00
Mike Hommey
34dd45ff4c Bug 1890935 - Bump the minimum version of Rust to 1.76. r=firefox-build-system-reviewers,sergesanspaille
Differential Revision: https://phabricator.services.mozilla.com/D207239
2024-04-19 04:21:20 +00:00
Nick Alexander
7aaf475f06 Bug 1885985 - Produce and consume macOS frameworks for artifact builds. r=spohl,application-update-reviewers,bytesized,firefox-build-system-reviewers,glandium
This patch:

1. Produces additional frameworks as part of every build.  In compile
   builds, the frameworks are built; in artifact builds, the frameworks
   binaries are taken from fetched artifacts.  It's not easy to compile a
   single framework with the same name twice in the `moz.build` DSL, so
   some file shuffling is done in `Makefile.in` files to arrange the
   correct layout.

2. Packages and uploads a new `update_framework_artifacts` extra
   archive for artifact builds to consume.

3. Consumes the new extra archive in artifact builds.

Produced frameworks live in
`dist/macos_framework_artifacts/xyz.framework/**`.

Consumed frameworks are made availabe to artifact builds in
`dist/macos_framework_artifacts`.

Bug 1885985 - Part 2:

Differential Revision: https://phabricator.services.mozilla.com/D205936
2024-04-19 04:02:29 +00:00
Henrik Skupin
c4ab772dbd Bug 1892044 - [mozperftest] Remove "--no-deps" argument for installing Python requirements file. r=sparky
Depends on D207902

Differential Revision: https://phabricator.services.mozilla.com/D207903
2024-04-19 01:53:11 +00:00
Andrew Halberstadt
d68e3340c5 Bug 1868440 - [ci] Upgrade taskcluster-taskgraph to v7.4.0, r=perftest-reviewers,geckoview-reviewers,ci-and-tooling,devtools-reviewers,taskgraph-reviewers,releng-reviewers,mach-reviewers,omc-reviewers,jmaher,hneiva,aminomancer,jari,dom-storage-reviewers,afinder,asuth,bhearsum,owlish
Differential Revision: https://phabricator.services.mozilla.com/D206260
2024-04-18 20:39:09 +00:00
Stanca Serban
f9c5779927 Backed out 2 changesets (bug 1868440) for gecko decision task broken. CLOSED TREE
Backed out changeset 4b22948d849a (bug 1868440)
Backed out changeset 837bdcb3694a (bug 1868440)
2024-04-18 21:25:43 +03:00
Andrew Halberstadt
f33979228a Bug 1868440 - [ci] Upgrade taskcluster-taskgraph to v7.4.0, r=perftest-reviewers,geckoview-reviewers,ci-and-tooling,devtools-reviewers,taskgraph-reviewers,releng-reviewers,mach-reviewers,omc-reviewers,jmaher,hneiva,aminomancer,jari,dom-storage-reviewers,afinder,asuth,bhearsum,owlish
Differential Revision: https://phabricator.services.mozilla.com/D206260
2024-04-18 17:50:50 +00:00
Kelsey Gilbert
0d4c837c5e Bug 1891886 - Check for hasattr("_handler") not "handler" in mozbuild/controller/building.py. r=firefox-build-system-reviewers,glandium
The hasattr(self, "handler") was added in bug 889963, and back then
self.handler *was* set. That changed in bug 883209, which changed the
setting of self.handler to self._handler, but left out the ones from
this code.

Differential Revision: https://phabricator.services.mozilla.com/D207649
2024-04-18 16:41:49 +00:00
serge-sans-paille
f64ee1d8dd Bug 1891781 - Lazily import FileFinder in mozbuild/jar.py r=ahochheiden
Differential Revision: https://phabricator.services.mozilla.com/D207599
2024-04-18 14:35:30 +00:00
Natalia Csoregi
55ef2de90f Backed out changeset 9f185bc37baf (bug 1885985) for causing failures on UpdateSettings. CLOSED TREE 2024-04-17 22:35:59 +03:00
Nick Alexander
d6cbf36fe7 Bug 1885985 - Produce and consume macOS frameworks for artifact builds. r=spohl,application-update-reviewers,bytesized,firefox-build-system-reviewers,glandium
This patch:

1. Produces additional frameworks as part of every build.  In compile
builds, the frameworks are built; in artifact builds, the frameworks
binaries are taken from fetched artifacts.  It's not easy to compile
the same framework twice in the `moz.build` DSL, so some file
shuffling is done in `Makefile.in` files to arrange the correct
layout.

2. Packages and uploads a new `macos_framework_artifacts` extra
archive for artifact builds to consume.

3. Consumes the new extra archive in artifact builds.

Produced frameworks live in
`$(topobjdir)/macos_framework_artifacts/xyz.framework/**`.

Consumed frameworks are made availabe to artifact builds in
`$(distdir)/macos_framework_artifacts`.

Bug 1885985 - Part 2:

Differential Revision: https://phabricator.services.mozilla.com/D205936
2024-04-17 18:18:47 +00:00
Tooru Fujisawa
c8fc09e329 Bug 1854571 - Print package path in mach package. r=firefox-build-system-reviewers,sergesanspaille
Differential Revision: https://phabricator.services.mozilla.com/D207204
2024-04-15 23:38:29 +00:00
Gabriel Bustamante
4f70078f89 Bug 1887210 - Repackage the nightly linux64-aarch64 builds as .deb packages and upload them to the APT repository r=releng-reviewers,taskgraph-reviewers,bhearsum
Depends on D205402

Differential Revision: https://phabricator.services.mozilla.com/D205501
2024-04-15 20:51:00 +00:00
Mike Hommey
8f08cd364d Bug 1890454 - Add unit tests for imply_option corner cases. r=sergesanspaille
Differential Revision: https://phabricator.services.mozilla.com/D206973
2024-04-15 20:03:22 +00:00
Sylvestre Ledru
b50231ef5c Bug 1891375 - Update to sphinx 7.2.6 r=firefox-source-docs-reviewers,ahal DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D206585
2024-04-15 14:35:48 +00:00
serge-sans-paille
69ce946861 Bug 1888370 - Run configure backends in parallel r=glandium
Once the configure step is built, each backend processes it independently,
there was a parallelization opportunity here. Most of the gain comes
from clangd backend and RecursiveMake backend being run concurrently.

Only active when multiprocessing's fork starting method is used due to
incompatibility with pickling fo some of our internal structures.

Differential Revision: https://phabricator.services.mozilla.com/D205992
2024-04-15 09:05:08 +00:00
serge-sans-paille
70be679ee7 Bug 1888365 - Obsolete OrderedDefaultDict in favor of defaultdict r=glandium
defaultdict is ordered by default since python 3.7 (as a subclass of
dict)

Differential Revision: https://phabricator.services.mozilla.com/D205989
2024-04-15 09:05:08 +00:00
serge-sans-paille
e6f05c16e3 Bug 1888163 - Improve quoting in clangd configure backend r=glandium
Some micro-optimization in the mozbuild/shellutil.py quoting function,
and use it at a finer grain to avoid some extra list creation.
This saves time in the configure step.

Differential Revision: https://phabricator.services.mozilla.com/D205861
2024-04-11 06:59:09 +00:00
andrej
063d18e296 Bug 1888142 - Webpagetest Permafail due to new way of accepting API keys. r=perftest-reviewers,kshampur
Webpagetest has modified the way that they accept keys, they used to accept it through a URL parameter, but now they require it to be in the header and with a different name

Differential Revision: https://phabricator.services.mozilla.com/D207159
2024-04-10 18:44:46 +00:00
Ben Dean-Kawamura
2bb9af8156 Bug 1888683 - Upgrade UniFFI to 0.27.1. r=markh,janerik,glandium,supply-chain-reviewers,mach-reviewers,android-reviewers,kaya
Update:
  - UniFFI to 0.27.1
  - Glean to 59.0.0
  - App-services to a recent version

This removes the need for the goblin build hack, although we still have
duplicate versions of goblin since UniFFI is ahead of the moz-central
version.  I think that should be easy to resolve as a follow-up.

Updating uniffi-bindget-gecko-js based on upstream changes:
  - Clone objects before lowering them
    (https://github.com/mozilla/uniffi-rs/pull/1880)
  - Use u64 for the RustBuffer length and capacity field
    (https://github.com/mozilla/uniffi-rs/pull/1978)

I didn't implement the new callback interface VTable code.  Instead I
simply disabled the one fixture that tests it.  I'd rather implement
https://bugzilla.mozilla.org/show_bug.cgi?id=1888668 first, since that
will simplify the process a bunch. The only real-world use-case for
callbacks that I know of is Mark's logging changes, but that will
require implementing trait interfaces anyways so I'd rather wait than
write a bunch of C++ code that we then throw away.

Differential Revision: https://phabricator.services.mozilla.com/D206130
2024-04-10 17:23:00 +00:00
Cristian Tuns
4deecb1d98 Backed out 2 changesets (bug 1888683) for causing hazard bustages in UniFFIPointer.cpp CLOSED TREE
Backed out changeset 42fe954d2d47 (bug 1888683)
Backed out changeset 2403582c3c8d (bug 1888683)
2024-04-09 21:54:42 -04:00
Ben Dean-Kawamura
3c47b31e06 Bug 1888683 - Upgrade UniFFI to 0.27.1. r=markh,janerik,glandium,supply-chain-reviewers,mach-reviewers,android-reviewers,kaya
Update:
  - UniFFI to 0.27.1
  - Glean to 59.0.0
  - App-services to a recent version

This removes the need for the goblin build hack, although we still have
duplicate versions of goblin since UniFFI is ahead of the moz-central
version.  I think that should be easy to resolve as a follow-up.

Updating uniffi-bindget-gecko-js based on upstream changes:
  - Clone objects before lowering them
    (https://github.com/mozilla/uniffi-rs/pull/1880)
  - Use u64 for the RustBuffer length and capacity field
    (https://github.com/mozilla/uniffi-rs/pull/1978)

I didn't implement the new callback interface VTable code.  Instead I
simply disabled the one fixture that tests it.  I'd rather implement
https://bugzilla.mozilla.org/show_bug.cgi?id=1888668 first, since that
will simplify the process a bunch. The only real-world use-case for
callbacks that I know of is Mark's logging changes, but that will
require implementing trait interfaces anyways so I'd rather wait than
write a bunch of C++ code that we then throw away.

Differential Revision: https://phabricator.services.mozilla.com/D206130
2024-04-09 20:15:16 +00:00
Connor Sheehan
ae95f7d117 Bug 1889954: set HGRCPATH=! when updating v-c-t r=firefox-build-system-reviewers,glandium
`HGPLAIN` disables configuration settings that change the default Mercurial
output, whereas `HGRCPATH=!` disables all extensions entirely. Since we are
updating v-c-t to update custom Mercurial extensions, we should disable all
extensions to avoid hitting bugs that would be fixed by updating v-c-t.

Differential Revision: https://phabricator.services.mozilla.com/D206918
2024-04-09 03:14:40 +00:00
Sandor Molnar
ecaff7c868 Backed out 5 changesets (bug 1890092, bug 1888683) for causing build bustages & crashes CLOSED TREE
Backed out changeset d43df75c14de (bug 1888683)
Backed out changeset b4267327c7dd (bug 1888683)
Backed out changeset 11892428e2dc (bug 1890092)
Backed out changeset 42598e432246 (bug 1888683)
Backed out changeset 372016bf3614 (bug 1888683)
2024-04-08 19:56:29 +03:00
Ben Dean-Kawamura
b3c3067e2b Bug 1888683 - Upgrade UniFFI to 0.27.1. r=janerik,glandium,supply-chain-reviewers,mach-reviewers,android-reviewers,kaya
Update:
  - UniFFI to 0.27.1
  - Glean to 59.0.0
  - App-services to a recent version

This removes the need for the goblin build hack, although we still have
duplicate versions of goblin since UniFFI is ahead of the moz-central
version.  I think that should be easy to resolve as a follow-up.

Updating uniffi-bindget-gecko-js based on upstream changes:
  - Clone objects before lowering them
    (https://github.com/mozilla/uniffi-rs/pull/1880)
  - Use u64 for the RustBuffer length and capacity field
    (https://github.com/mozilla/uniffi-rs/pull/1978)

I didn't implement the new callback interface VTable code.  Instead I
simply disabled the one fixture that tests it.  I'd rather implement
https://bugzilla.mozilla.org/show_bug.cgi?id=1888668 first, since that
will simplify the process a bunch. The only real-world use-case for
callbacks that I know of is Mark's logging changes, but that will
require implementing trait interfaces anyways so I'd rather wait than
write a bunch of C++ code that we then throw away.

Differential Revision: https://phabricator.services.mozilla.com/D206130
2024-04-08 15:07:50 +00:00
Tim Giles
5814664326 Bug 1888952 - Add 'buildtokens' mach command. r=reusable-components-reviewers,mach-reviewers,hjones
This new command will make it easier to work with the JSON source of
truth for our design tokens. Unfortunately the noisy output when
building the tokens is expected. We can fix this issue by upgrading
to Style Dictionary v4 when it is available and changing the logging
level.[1]

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=1889645

Differential Revision: https://phabricator.services.mozilla.com/D206561
2024-04-05 17:43:11 +00:00
Tim Giles
71d46638de Bug 1889469 - Add 'addstory' command to MACH_COMMANDS. r=reusable-components-reviewers,mstriemer,mach-reviewers
Looks like this command didn't get added to the MACH_COMMANDS list which
means 'addstory' will throw an error when you try and use it.

Differential Revision: https://phabricator.services.mozilla.com/D206548
2024-04-05 17:43:11 +00:00
Perry McManis
5c3cf2d4f7 Bug 1888703 - add a mach command to create a legacy event definition from a glean one r=chutten
Differential Revision: https://phabricator.services.mozilla.com/D206281
2024-04-04 13:01:07 +00:00
Mike Hommey
6c8b823bd2 Bug 1888321 - Followup: properly refresh .cargo/config.toml.in when vendoring. r=firefox-build-system-reviewers,ahochheiden
Differential Revision: https://phabricator.services.mozilla.com/D206568
2024-04-04 01:00:32 +00:00
Niklas Baumgardner
9639f49368 Bug 1864038 - Add keyboard shortcuts for screenshots overlay. r=sfoster,fluent-reviewers,bolsson,desktop-theme-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D193847
2024-04-03 23:51:56 +00:00
Natalia Csoregi
d9d2fe464f Backed out changeset 2075af244745 (bug 1888243) for causing vendor failures. CLOSED TREE 2024-04-03 00:26:47 +03:00