Skip to content

Commit fb9956f

Browse files
author
Alexandre Lissy
committed
FxCI: Add Windows Aarch64
1 parent 3f20dc8 commit fb9956f

File tree

16 files changed

+143
-21
lines changed

16 files changed

+143
-21
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
. "$topsrcdir/build/mozconfig.win-common"
2+
. "$topsrcdir/browser/config/mozconfigs/win64-aarch64/common-win64"
3+
. "$topsrcdir/browser/config/mozconfigs/win64-aarch64/common-opt"
4+
5+
ac_add_options --enable-enterprise
6+
7+
. "$topsrcdir/build/mozconfig.common.override"

python/mozbuild/mozbuild/repackaging/msix.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,7 @@ def repackage_msix(
358358
"aurora",
359359
"nightly",
360360
"unofficial",
361+
"firefoxenterprise",
361362
):
362363
raise Exception(f"channel is unrecognized: {channel}")
363364

taskcluster/config.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,9 @@ treeherder:
199199
'Rpk-Ent': 'Enterprise repacks'
200200
'Rpk': 'Classic repacks'
201201
'MSI-Ent': "MSI Enterprise repacks"
202+
'MSIX-Ent': "MSIX Enterprise repacks"
202203
'MSIs-Ent': "MSI signed Enterprise repacks"
204+
'MSIXs-Ent': "MSIX signed Enterprise repacks"
203205
'BMS-Ent': "Mac signing for Enterprise repacks"
204206
'BMN-Ent': "Mac notarization for Enterprise repacks"
205207

taskcluster/gecko_taskgraph/decision.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,17 @@
142142
},
143143
},
144144
},
145+
"repackage-msix": {
146+
"sample": {
147+
"gcpEU": {
148+
"locales": ["en-US"],
149+
"platforms": [
150+
"win64-enterprise-shippable",
151+
"win64-aarch64-enterprise-shippable",
152+
],
153+
},
154+
},
155+
},
145156
"enterprise-repack-repackage": {
146157
"sample": {
147158
"gcpEU": {
@@ -151,6 +162,7 @@
151162
"linux64-aarch64-enterprise-shippable",
152163
"macosx64-enterprise-shippable",
153164
"win64-enterprise-shippable",
165+
"win64-aarch64-enterprise-shippable",
154166
],
155167
},
156168
},
@@ -160,9 +172,7 @@
160172
"gcpEU": {
161173
"locales": ["en-US"],
162174
"platforms": [
163-
"linux64-enterprise-shippable",
164175
"macosx64-enterprise-shippable",
165-
"win64-enterprise-shippable",
166176
],
167177
},
168178
},
@@ -172,8 +182,6 @@
172182
"gcpEU": {
173183
"locales": ["en-US"],
174184
"platforms": [
175-
"linux64-enterprise-shippable",
176-
"macosx64-enterprise-shippable",
177185
"win64-enterprise-shippable",
178186
],
179187
},

taskcluster/gecko_taskgraph/transforms/partner_repack.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,11 @@ def add_command_arguments(config, tasks):
120120
task["attributes"]["build_platform"],
121121
),
122122
)
123-
platform = task["attributes"]["build_platform"].partition("-shippable")[0]
123+
platform = (
124+
task["attributes"]["build_platform"]
125+
.partition("-shippable")[0]
126+
.partition("-enterprise")[0]
127+
)
124128
task["run"]["options"] = [
125129
"version={}".format(release_config["version"]),
126130
"build-number={}".format(release_config["build_number"]),

taskcluster/gecko_taskgraph/transforms/repackage.py

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -529,11 +529,17 @@ def make_job_description(config, jobs):
529529
if not dep_th_platform and "enterprise-repack-repackage" in dep_job.kind:
530530
build_platform = attributes.get("build_platform")
531531
if "linux64" in build_platform:
532-
dep_th_platform = "linux64-enterprise/opt"
532+
if "aarch64" in build_platform:
533+
dep_th_platform = "linux64-aarch64-enterprise/opt"
534+
else:
535+
dep_th_platform = "linux64-enterprise/opt"
533536
elif "macosx64" in build_platform:
534537
dep_th_platform = "osx-cross-enterprise/opt"
535538
elif "win64" in build_platform:
536-
dep_th_platform = "windows2012-64-enterprise/opt"
539+
if "aarch64" in build_platform:
540+
dep_th_platform = "windows2012-aarch64-enterprise/opt"
541+
else:
542+
dep_th_platform = "windows2012-64-enterprise/opt"
537543
else:
538544
raise ValueError(f"Unsupported {build_platform}")
539545

@@ -567,10 +573,14 @@ def make_job_description(config, jobs):
567573
elif config.kind == "repackage-msix":
568574
assert not locale
569575

570-
# Like "MSIXs(Bs)".
571-
treeherder["symbol"] = "MSIX({})".format(
572-
dep_job.task.get("extra", {}).get("treeherder", {}).get("symbol", "B")
573-
)
576+
if "enterprise-repack" in dep_job.label:
577+
repack_id = dep_job.task.get("extra").get("repack_id")
578+
treeherder["symbol"] = f"MSIX-Ent({repack_id})"
579+
else:
580+
# Like "MSIXs(Bs)".
581+
treeherder["symbol"] = "MSIX({})".format(
582+
dep_job.task.get("extra", {}).get("treeherder", {}).get("symbol", "B")
583+
)
574584

575585
elif config.kind == "repackage-shippable-l10n-msix":
576586
assert not locale

taskcluster/gecko_taskgraph/transforms/repackage_partner.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -243,11 +243,17 @@ def make_job_description(config, jobs):
243243
.replace("shippable", "")
244244
)
245245
if "linux64" in platform:
246-
th_platform = "linux64-enterprise/opt"
246+
if "aarch64" in platform:
247+
th_platform = "linux64-aarch64-enterprise/opt"
248+
else:
249+
th_platform = "linux64-enterprise/opt"
247250
elif "macosx64" in platform:
248251
th_platform = "osx-cross-enterprise/opt"
249252
elif "win64" in platform:
250-
th_platform = "windows2012-64-enterprise/opt"
253+
if "aarch64" in platform:
254+
th_platform = "windows2012-aarch64-enterprise/opt"
255+
else:
256+
th_platform = "windows2012-64-enterprise/opt"
251257
else:
252258
raise ValueError(f"Unsupported {platform}")
253259

taskcluster/gecko_taskgraph/transforms/repackage_signing.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,18 @@ def make_repackage_signing_description(config, jobs):
7777
dep_symbol = dep_job.task.get("extra").get("treeherder").get("symbol")
7878
treeherder["symbol"] = f"MSIs-Ent({dep_symbol})"
7979
else:
80-
treeherder["symbol"] = "MSIs({})".format(locale or "N")
80+
treeherder["symbol"] = "MSIs({})".format(
81+
dep_job.task.get("extra", {}).get("treeherder", {}).get("symbol", "B")
82+
)
83+
84+
if config.kind == "repackage-signing-msix":
85+
if "enterprise-repack" in dep_job.label:
86+
dep_symbol = dep_job.task.get("extra").get("treeherder").get("symbol")
87+
treeherder["symbol"] = f"MSIXs-Ent({dep_symbol})"
88+
else:
89+
treeherder["symbol"] = "MSIXs({})".format(
90+
dep_job.task.get("extra", {}).get("treeherder", {}).get("symbol", "B")
91+
)
8192

8293
elif config.kind in (
8394
"repackage-signing-msix",

taskcluster/kinds/beetmover-geckoview/kind.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ not-for-build-platforms:
3131
- win64-shippable/opt
3232
- win64-enterprise-shippable/opt
3333
- win64-aarch64-shippable/opt
34+
- win64-aarch64-enterprise-shippable/opt
3435
- win64-nightlyasrelease/opt
3536
- linux64-devedition/opt
3637
- linux64-aarch64-devedition/opt

taskcluster/kinds/build/windows.yml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -531,6 +531,61 @@ win64-enterprise-shippable/opt:
531531
fetch:
532532
- upx-3.95-win
533533

534+
win64-aarch64-enterprise-shippable/opt:
535+
description: "AArch64 Win64 Enterprise Shippable"
536+
index:
537+
product: firefox
538+
job-name: win64-aarch64-enterprise-opt
539+
type: shippable
540+
attributes:
541+
shippable: true
542+
enable-full-crashsymbols: true
543+
shipping-phase: build
544+
shipping-product: firefox
545+
treeherder:
546+
platform: windows2012-aarch64-enterprise-shippable/opt
547+
symbol: Bent
548+
tier: 1
549+
run-on-projects: ["enterprise-firefox"]
550+
run-on-repo-type: ["git"]
551+
worker-type: b-linux-docker-xlarge-amd
552+
worker:
553+
max-run-time: 10800
554+
env:
555+
PERFHERDER_EXTRA_OPTIONS: enterprise
556+
MOZ_AUTOMATION_PACKAGE_TESTS: "1"
557+
run:
558+
actions: [get-secrets, build]
559+
options: [append-env-variables-from-configs]
560+
script: mozharness/scripts/fx_desktop_build.py
561+
secrets: true
562+
config:
563+
- builds/releng_base_firefox.py
564+
- builds/releng_base_linux_64_builds.py
565+
extra-config:
566+
stage_platform: win64-aarch64
567+
mozconfig_platform: win64-aarch64
568+
max_build_output_timeout: 3600
569+
fetches:
570+
toolchain:
571+
- linux64-clang
572+
- linux64-rust-cross
573+
- linux64-rust-size
574+
- linux64-nasm
575+
- linux64-node
576+
- linux64-cbindgen
577+
- linux64-dump_syms
578+
- linux64-wine
579+
- linux64-winchecksec
580+
- nsis
581+
- sysroot-x86_64-linux-gnu
582+
- sysroot-wasm32-wasi
583+
- vs
584+
- dxc-aarch64-pc-windows-msvc
585+
- winappsdk-aarch64-pc-windows-msvc
586+
fetch:
587+
- upx-3.95-win
588+
534589
win64-plain/opt:
535590
description: "Win64 Opt Plain"
536591
index:

0 commit comments

Comments
 (0)