Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions browser/config/mozconfigs/linux64/profile-generate-enterprise
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
. $topsrcdir/browser/config/mozconfigs/linux64/nightly-enterprise

mk_add_options "export MOZ_AUTOMATION_PACKAGE_GENERATED_SOURCES=0"

ac_add_options --enable-profile-generate=cross
ac_add_options --disable-tests
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
. $topsrcdir/browser/config/mozconfigs/macosx64-aarch64/nightly-enterprise

mk_add_options "export MOZ_AUTOMATION_PACKAGE_GENERATED_SOURCES=0"

ac_add_options --enable-profile-generate=cross
ac_add_options --disable-tests
6 changes: 6 additions & 0 deletions browser/config/mozconfigs/win64/profile-generate-enterprise
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
. $topsrcdir/browser/config/mozconfigs/win64/nightly-enterprise

mk_add_options "export MOZ_AUTOMATION_PACKAGE_GENERATED_SOURCES=0"

ac_add_options --enable-profile-generate=cross
ac_add_options --disable-tests
15 changes: 12 additions & 3 deletions taskcluster/gecko_taskgraph/target_tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -486,19 +486,28 @@ def target_tasks_enterprise_firefox_with_tests(
)

def filter(task):
# Enabling tests suites triggers many jobs not required, limit execution
# to enterprise builds for now
if task.kind in ["test", "mochitest"] and "enterprise" not in task.label:
return False

# Only keep builds that have been explicitely flagged
if task.kind == "build" and not "enterprise-firefox" in task.attributes.get(
"run_on_projects"
):
return False

if task.kind == "enterprise-test":
return True

build_platform = task.attributes.get("build_platform")
build_type = task.attributes.get("build_type")
shippable = task.attributes.get("shippable", False)

level = int(parameters["level"])
if ("shippable" in task.label or shippable) and level < 3:
return False

if task.kind == "enterprise-test":
return True

if not build_platform or not build_type:
return True

Expand Down
5 changes: 5 additions & 0 deletions taskcluster/gecko_taskgraph/transforms/job/mozharness_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,11 @@ def mozharness_test_on_docker(config, job, taskdesc):
else:
assert "MOZ_ENABLE_WAYLAND" not in env

if "enterprise" in job["attributes"]["build_platform"]:
assert "MOZ_BYPASS_FELT" in env
else:
assert "MOZ_BYPASS_FELT" not in env

if mozharness.get("mochitest-flavor"):
env["MOCHITEST_FLAVOR"] = mozharness["mochitest-flavor"]

Expand Down
2 changes: 2 additions & 0 deletions taskcluster/gecko_taskgraph/transforms/task.py
Original file line number Diff line number Diff line change
Expand Up @@ -2066,8 +2066,10 @@ def add_enterprise_index_routes(config, tasks):
if (
not "enterprise" in task["label"]
or "upload" in task["label"]
or not "shippable" in task["label"]
or task["label"].endswith("/debug")
or task["label"].startswith("enterprise-test")
or task["label"].startswith("test-")
):
yield task
continue
Expand Down
17 changes: 17 additions & 0 deletions taskcluster/gecko_taskgraph/transforms/test/worker.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,11 @@
"virtual-with-gpu": "win11-64-24h2-gpu",
"hardware": "win11-64-24h2-hw",
},
"windows11-64-24h2-enterprise": {
"virtual": "win11-64-24h2",
"virtual-with-gpu": "win11-64-24h2-gpu",
"hardware": "win11-64-24h2-hw",
},
"windows11-64-24h2-ccov": {
"virtual": "win11-64-24h2",
"virtual-with-gpu": "win11-64-24h2-gpu",
Expand Down Expand Up @@ -218,3 +223,15 @@ def set_wayland_env(config, tasks):
env["WAYLAND_DISPLAY"] = "wayland-0"
env["NEED_GNOME_KEYRING"] = "true"
yield task


@transforms.add
def set_enterprise_bypass_env(config, tasks):
for task in tasks:
if "enterprise" not in task["test-platform"]:
yield task
continue

env = task.setdefault("worker", {}).setdefault("env", {})
env["MOZ_BYPASS_FELT"] = "1"
yield task
2 changes: 2 additions & 0 deletions taskcluster/gecko_taskgraph/util/verify.py
Original file line number Diff line number Diff line change
Expand Up @@ -381,7 +381,9 @@ def has_one_route_with(what):

if (
"upload" in task.label
or not "shippable" in task.label
or task.label.startswith("enterprise-test")
or task.label.startswith("test-")
or task.label.startswith("build-signing")
or task.label.startswith("build-mac-signing")
):
Expand Down
3 changes: 3 additions & 0 deletions taskcluster/kinds/beetmover-geckoview/kind.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,18 @@ only-for-attributes:

not-for-build-platforms:
- linux64-shippable/opt
- linux64-enterprise/opt
- linux64-enterprise-shippable/opt
- linux64-aarch64-shippable/opt
- linux64-aarch64-enterprise-shippable/opt
- linux64-nightlyasrelease/opt
- macosx64-shippable/opt
- macosx64-enterprise/opt
- macosx64-enterprise-shippable/opt
- macosx64-nightlyasrelease/opt
- win32-shippable/opt
- win64-shippable/opt
- win64-enterprise/opt
- win64-enterprise-shippable/opt
- win64-aarch64-shippable/opt
- win64-nightlyasrelease/opt
Expand Down
2 changes: 2 additions & 0 deletions taskcluster/kinds/build-mac-signing/kind.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ only-for-build-platforms:
- macosx64-shippable/opt
- macosx64-devedition/opt
- macosx64-aarch64/debug
- macosx64-enterprise/opt
- macosx64-enterprise/debug
- macosx64-enterprise-shippable/opt

tasks:
Expand Down
1 change: 1 addition & 0 deletions taskcluster/kinds/build-signing/kind.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ not-for-build-platforms:
- macosx64-shippable/opt
- macosx64-devedition/opt
- macosx64-aarch64/debug
- macosx64-enterprise/opt
- macosx64-enterprise-shippable/opt

tasks:
Expand Down
59 changes: 56 additions & 3 deletions taskcluster/kinds/build/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,16 +52,69 @@ linux64/opt:
- onnxruntime-x86_64-linux-gnu

linux64-enterprise-shippable/opt:
description: "Linux64 Enterprise Opt"
description: "Linux64 Enterprise Shippable Opt"
use-pgo: true
index:
product: firefox
job-name: linux64-enterprise-opt
job-name: linux64-enterprise-shippable-opt
attributes:
shippable: true
enable-build-signing: true
enable-full-crashsymbols: true
shipping-phase: build
shipping-product: firefox
treeherder:
platform: linux64-enterprise-shippable/opt
symbol: Bpgo(Bent)
tier: 1
worker-type: b-linux-docker-xlarge-amd
worker:
max-run-time: 7200
env:
PERFHERDER_EXTRA_OPTIONS: enterprise
MOZ_AUTOMATION_PACKAGE_TESTS: "1"
# bug 1690154 - enable full symbols on all branches, but only
# upload them on the official set. In conjunction with
# `enable-full-crashsymbols`.
MOZ_ENABLE_FULL_SYMBOLS: "1"
run:
using: mozharness
actions: [get-secrets, build]
config:
- builds/releng_base_firefox.py
- builds/releng_base_linux_64_builds.py
- taskcluster_nightly.py
script: "mozharness/scripts/fx_desktop_build.py"
secrets: true
tooltool-downloads: public
run-on-projects: ["enterprise-firefox"]
run-on-repo-type: ["git"]
use-sccache: false
use-python: "3.11"
fetches:
toolchain:
- linux64-clang
- linux64-rust
- linux64-rust-size
- linux64-cbindgen
- linux64-dump_syms
- linux64-sccache
- linux64-nasm
- linux64-node
- linux64-pkgconf
- sysroot-x86_64-linux-gnu
- sysroot-wasm32-wasi
- onnxruntime-x86_64-linux-gnu

linux64-enterprise/opt:
description: "Linux64 Enterprise Opt"
index:
product: firefox
job-name: linux64-enterprise-opt
attributes:
enable-full-crashsymbols: true
shipping-phase: build
shipping-product: firefox
treeherder:
platform: linux64-enterprise/opt
symbol: Bent
Expand Down Expand Up @@ -463,7 +516,7 @@ linux64-enterprise/debug:
max-run-time: 5400
env:
PERFHERDER_EXTRA_OPTIONS: enterprise
# MOZ_AUTOMATION_PACKAGE_TESTS: "1"
MOZ_AUTOMATION_PACKAGE_TESTS: "1"
# bug 1690154 - enable full symbols on all branches, but only
# upload them on the official set. In conjunction with
# `enable-full-crashsymbols`.
Expand Down
46 changes: 42 additions & 4 deletions taskcluster/kinds/build/macosx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ macosx64-enterprise/debug:
max-run-time: 5400
env:
PERFHERDER_EXTRA_OPTIONS: enterprise
# MOZ_AUTOMATION_PACKAGE_TESTS: "1"
MOZ_AUTOMATION_PACKAGE_TESTS: "1"
run:
config:
- builds/releng_base_firefox.py
Expand Down Expand Up @@ -119,8 +119,7 @@ macosx64-aarch64/debug:
worker:
max-run-time: 5400
env:
# TODO: Packaging tests without test run will fail
# MOZ_AUTOMATION_PACKAGE_TESTS: "1"
MOZ_AUTOMATION_PACKAGE_TESTS: "1"
PERFHERDER_EXTRA_OPTIONS: aarch64
run:
config:
Expand Down Expand Up @@ -206,11 +205,50 @@ macosx64/opt:
- onnxruntime-x86_64-apple-darwin

macosx64-enterprise-shippable/opt:
description: "MacOS X x64 Enterprise Shippable Cross-compile"
use-pgo: true
index:
job-name: macosx64-enterprise-shippable-opt
attributes:
shippable: true
enable-build-signing: true
enable-full-crashsymbols: true
shipping-phase: build
shipping-product: firefox
treeherder:
platform: osx-cross-enterprise-shippable/opt
symbol: Bpgo(Bent)
tier: 1
worker-type: b-linux-docker-xlarge-amd
worker:
max-run-time: 7200
env:
MOZ_AUTOMATION_PACKAGE_TESTS: "1"
PERFHERDER_EXTRA_OPTIONS: enterprise
run:
config:
- builds/releng_base_firefox.py
- builds/releng_base_mac_64_cross_builds.py
extra-config:
mozconfig_platform: macosx64-aarch64
run-on-projects: ["enterprise-firefox"]
run-on-repo-type: ["git"]
use-sccache: false
use-python: "3.11"
fetches:
toolchain:
- linux64-clang
- linux64-sccache
- macosx64-aarch64-llvm-symbolizer
- macosx64-sdk
- sysroot-wasm32-wasi
- onnxruntime-aarch64-apple-darwin

macosx64-enterprise/opt:
description: "MacOS X x64 Enterprise Cross-compile"
index:
job-name: macosx64-enterprise-opt
attributes:
shippable: true
enable-build-signing: true
enable-full-crashsymbols: true
shipping-phase: build
Expand Down
61 changes: 59 additions & 2 deletions taskcluster/kinds/build/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,7 @@ win64-enterprise/debug:
max-run-time: 7200
env:
PERFHERDER_EXTRA_OPTIONS: enterprise
# MOZ_AUTOMATION_PACKAGE_TESTS: "1"
MOZ_AUTOMATION_PACKAGE_TESTS: "1"
run:
options: [append-env-variables-from-configs]
actions: [get-secrets, build]
Expand Down Expand Up @@ -475,12 +475,69 @@ win64/opt:
- upx-3.95-win

win64-enterprise-shippable/opt:
description: "Win64 Enterprise Shinpable Opt"
use-pgo: true
index:
product: firefox
job-name: win64-enterprise-shippable-opt
attributes:
shippable: true
enable-build-signing: true
enable-full-crashsymbols: true
shipping-phase: build
shipping-product: firefox
treeherder:
platform: windows2012-64-enterprise-shippable/opt
symbol: Bpgo(Bent)
tier: 1
worker-type: b-linux-docker-xlarge-amd
worker:
max-run-time: 7200
env:
PERFHERDER_EXTRA_OPTIONS: enterprise
MOZ_AUTOMATION_PACKAGE_TESTS: "1"
run:
options: [append-env-variables-from-configs]
actions: [get-secrets, build]
script: mozharness/scripts/fx_desktop_build.py
secrets: true
config:
- builds/releng_base_firefox.py
- builds/releng_base_linux_64_builds.py
extra-config:
stage_platform: win64
mozconfig_platform: win64
run-on-projects: ["enterprise-firefox"]
run-on-repo-type: ["git"]
use-sccache: false
fetches:
toolchain:
- linux64-clang
- linux64-rust-cross
- linux64-rust-size
- linux64-nasm
- linux64-node
- linux64-cbindgen
- linux64-sccache
- linux64-dump_syms
- linux64-wine
- linux64-winchecksec
- nsis
- sysroot-x86_64-linux-gnu
- sysroot-wasm32-wasi
- vs
- dxc-x86_64-pc-windows-msvc
- onnxruntime-x86_64-windows-msvc
- winappsdk-x86_64-pc-windows-msvc
fetch:
- upx-3.95-win

win64-enterprise/opt:
description: "Win64 Enterprise Opt"
index:
product: firefox
job-name: win64-enterprise-opt
attributes:
shippable: true
enable-build-signing: true
enable-full-crashsymbols: true
shipping-phase: build
Expand Down
Loading