Skip to content

Commit bb0a848

Browse files
author
Alexandre Lissy
committed
FxCI: Fix dmg+pkg+msi enterprise repacks signature/notarization
1 parent 32199a2 commit bb0a848

File tree

6 files changed

+78
-14
lines changed

6 files changed

+78
-14
lines changed

taskcluster/docs/kinds.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -978,3 +978,11 @@ Generates customized versions of releases for enterprises.
978978
enterprise-repack-repackage
979979
---------------------------
980980
Repackage customized versions of releases for enterprises.
981+
982+
enterprise-repack-mac-notarization
983+
----------------------------------
984+
Mac notarization of customized versions of releases for enterprises.
985+
986+
enterprise-repack-mac-signing
987+
----------------------------------
988+
Mac signature of customized versions of releases for enterprises.

taskcluster/gecko_taskgraph/transforms/chunk_partners.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,19 @@ def chunk_partners(config, jobs):
2727
dep_job = get_primary_dependency(config, job)
2828
assert dep_job
2929

30+
print("job", config.kind, job)
31+
3032
build_platform = dep_job.attributes["build_platform"]
3133
repack_id = dep_job.task.get("extra", {}).get("repack_id")
3234
repack_ids = dep_job.task.get("extra", {}).get("repack_ids")
3335
copy_repack_ids = job.pop("copy-repack-ids", False)
3436

37+
print("job2", config.kind, job)
38+
3539
if copy_repack_ids:
3640
assert repack_ids, f"dep_job {dep_job.label} doesn't have repack_ids!"
3741
job.setdefault("extra", {})["repack_ids"] = repack_ids
42+
print("job yield copy_repack_ids", config.kind, job)
3843
yield job
3944
# first downstream of the repack task, no chunking or fanout has been done yet
4045
elif not any([repack_id, repack_ids]):
@@ -45,6 +50,8 @@ def chunk_partners(config, jobs):
4550
"release-eme-free-repack-signing",
4651
"release-eme-free-repack-mac-signing",
4752
"release-partner-repack-mac-signing",
53+
"enterprise-repack-signing",
54+
"enterprise-repack-mac-signing",
4855
):
4956
repacks_per_chunk = job.get("repacks-per-chunk")
5057
chunks, remainder = divmod(len(platform_repack_ids), repacks_per_chunk)
@@ -55,22 +62,26 @@ def chunk_partners(config, jobs):
5562
partner_job = copy.deepcopy(job)
5663
partner_job.setdefault("extra", {}).setdefault("repack_ids", chunk)
5764
partner_job["extra"]["repack_suffix"] = str(this_chunk)
65+
print("job partner_job", config.kind, job)
5866
yield partner_job
5967
# linux and windows we fan out immediately to one task per partner-sub_partner-locale
6068
else:
6169
for repack_id in platform_repack_ids:
6270
partner_job = copy.deepcopy(job) # don't overwrite dict values here
6371
partner_job.setdefault("extra", {})
6472
partner_job["extra"]["repack_id"] = repack_id
73+
print("job partner_job 2", config.kind, job)
6574
yield partner_job
6675
# fan out chunked mac signing for repackage
6776
elif repack_ids:
6877
for repack_id in repack_ids:
6978
partner_job = copy.deepcopy(job)
7079
partner_job.setdefault("extra", {}).setdefault("repack_id", repack_id)
80+
print("job partner_job 3", config.kind, job)
7181
yield partner_job
7282
# otherwise we've fully fanned out already, continue by passing repack_id on
7383
else:
7484
partner_job = copy.deepcopy(job)
7585
partner_job.setdefault("extra", {}).setdefault("repack_id", repack_id)
86+
print("job partner_job 4", config.kind, job)
7687
yield partner_job
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# This Source Code Form is subject to the terms of the Mozilla Public
2+
# License, v. 2.0. If a copy of the MPL was not distributed with this
3+
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
4+
---
5+
loader: taskgraph.loader.transform:loader
6+
7+
transforms:
8+
- taskgraph.transforms.from_deps
9+
- gecko_taskgraph.transforms.mac_notarization
10+
- gecko_taskgraph.transforms.chunk_partners
11+
- gecko_taskgraph.transforms.partner_signing
12+
- gecko_taskgraph.transforms.signing
13+
- gecko_taskgraph.transforms.task
14+
15+
kind-dependencies:
16+
- enterprise-repack-mac-signing
17+
18+
only-for-build-platforms:
19+
- macosx64-shippable/opt
20+
- macosx64-enterprise-shippable/opt
21+
22+
tasks:
23+
enterprise-repack-mac-notarization:
24+
from-deps:
25+
group-by: partner-repack-ids
26+
copy-attributes: true
27+
shipping-product: firefox
28+
# TODO: shipping-phase: promote
29+
copy-repack-ids: true
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# This Source Code Form is subject to the terms of the Mozilla Public
2+
# License, v. 2.0. If a copy of the MPL was not distributed with this
3+
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
4+
---
5+
loader: taskgraph.loader.transform:loader
6+
7+
transforms:
8+
- taskgraph.transforms.from_deps
9+
- gecko_taskgraph.transforms.chunk_partners
10+
- gecko_taskgraph.transforms.name_sanity
11+
- gecko_taskgraph.transforms.partner_signing
12+
- gecko_taskgraph.transforms.signing
13+
- gecko_taskgraph.transforms.hardened_signing
14+
- gecko_taskgraph.transforms.task
15+
16+
kind-dependencies:
17+
- enterprise-repack
18+
19+
only-for-build-platforms:
20+
- macosx64-enterprise-shippable/opt
21+
22+
tasks:
23+
enterprise-repack-mac-signing:
24+
from-deps:
25+
group-by: partner-repack-ids
26+
shipping-product: firefox
27+
# TODO: shipping-phase: promote
28+
repacks-per-chunk: 5

taskcluster/kinds/enterprise-repack-repackage/kind.yml

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@ transforms:
1313
- gecko_taskgraph.transforms.job
1414
- gecko_taskgraph.transforms.task
1515

16-
# Mac signing/notarization being listed here and not executed will mask
17-
# this task
1816
kind-dependencies:
1917
- enterprise-repack
2018
- toolchain
@@ -26,7 +24,6 @@ task-defaults:
2624
run-on-projects: ["enterprise-firefox"]
2725

2826
only-for-build-platforms:
29-
- linux64-enterprise-shippable/opt
3027
- macosx64-enterprise-shippable/opt
3128
- win64-enterprise-shippable/opt
3229

@@ -47,23 +44,14 @@ tasks:
4744
macosx64-.*:
4845
- repackage/base.py
4946
- repackage/osx_partner.py
50-
win32-.*:
51-
- repackage/base.py
52-
- repackage/win32_sfx_stub.py
53-
- repackage/win32_partner.py
5447
win64-(?!aarch64).*:
5548
- repackage/base.py
5649
- repackage/win32_sfx_stub.py
5750
- repackage/win64_partner.py
58-
win64-aarch64-.*:
59-
- repackage/base.py
60-
- repackage/win64-aarch64_sfx_stub.py
61-
- repackage/win64_partner.py
6251
linux64.*:
6352
- repackage/base.py
6453
package-formats:
6554
by-build-platform:
66-
macosx64\b.*: [dmg]
55+
macosx64\b.*: [dmg, pkg]
6756
win32\b.*: [installer]
6857
win64\b.*: [installer]
69-
linux64\b.*: [tar]

taskcluster/kinds/repackage-msi/kind.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ transforms:
1414
kind-dependencies:
1515
- repackage-signing
1616
- repackage-signing-l10n
17-
- enterprise-repack
17+
- enterprise-repack-repackage
1818
- fetch
1919

2020
only-for-build-platforms:

0 commit comments

Comments
 (0)