Skip to content

Commit ffa2a1f

Browse files
committed
Bug 1774273 - Add mac notarization on signingscript r=bhearsum
Created a separate kind for only signing with iscript, and another for notarization. Once we validate this is good, we need to add it to l10n/emfree/etc and point repackage kind at it. Differential Revision: https://phabricator.services.mozilla.com/D173967
1 parent f43a986 commit ffa2a1f

File tree

5 files changed

+70
-4
lines changed

5 files changed

+70
-4
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
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: gecko_taskgraph.loader.single_dep:loader
6+
7+
transforms:
8+
- gecko_taskgraph.transforms.name_sanity:transforms
9+
- gecko_taskgraph.transforms.signing:transforms
10+
- gecko_taskgraph.transforms.task:transforms
11+
12+
kind-dependencies:
13+
- build-mac-signing
14+
15+
only-for-attributes:
16+
- shippable
17+
18+
job-template:
19+
treeherder:
20+
symbol: BMN
21+
upstream-artifacts:
22+
- taskType: signing
23+
paths: ["public/build/target.tar.gz"]
24+
formats: ["apple_notarization"]
25+
taskId:
26+
task-reference: <build-mac-signing>
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
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: gecko_taskgraph.loader.single_dep:loader
6+
7+
transforms:
8+
- gecko_taskgraph.transforms.name_sanity:transforms
9+
- gecko_taskgraph.transforms.build_signing:transforms
10+
- gecko_taskgraph.transforms.signing:transforms
11+
- gecko_taskgraph.transforms.task:transforms
12+
13+
kind-dependencies:
14+
- build
15+
16+
only-for-attributes:
17+
- shippable
18+
19+
only-for-build-platforms:
20+
- macosx64-shippable/opt
21+
- macosx64-devedition/opt
22+
23+
job-template:
24+
treeherder:
25+
symbol: BMS
26+
enable-signing-routes: false

taskcluster/docs/kinds.rst

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,16 @@ build-notarization-poller
4646

4747
We switched to a 3-part mac notarization workflow in bug 1562412. This is the second task, which polls Apple for notarization status. Because this is run in a separate, special notarization poller pool, we free up the mac notarization pool for actual signing work.
4848

49+
build-mac-signing
50+
-----------------
51+
52+
Mac signing without notarization
53+
54+
build-mac-notarization
55+
----------------------
56+
57+
Mac notarization on signinscript (linux) using rcodesign
58+
4959
artifact-build
5060
--------------
5161

taskcluster/gecko_taskgraph/transforms/signing.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,11 @@ def make_task_description(config, jobs):
204204
if dep_job.kind in task["dependencies"]:
205205
task["if-dependencies"] = [dep_job.kind]
206206

207-
if "macosx" in build_platform:
207+
# build-mac-notarization uses signingscript instead of iscript
208+
if "macosx" in build_platform and config.kind == "build-mac-notarization":
209+
task["worker"]["mac-behavior"] = "mac_sign"
210+
elif "macosx" in build_platform:
211+
# iscript overrides
208212
shippable = "false"
209213
if "shippable" in attributes and attributes["shippable"]:
210214
shippable = "true"
@@ -223,9 +227,8 @@ def make_task_description(config, jobs):
223227
mac_behavior = "mac_notarize_part_3"
224228
else:
225229
raise Exception(f"Unknown kind {config.kind} for mac_behavior!")
226-
else:
227-
if "part-1" in config.kind:
228-
continue
230+
elif "part-1" in config.kind:
231+
continue
229232
task["worker"]["mac-behavior"] = mac_behavior
230233
worker_type_alias_map = {
231234
"linux-depsigning": "mac-depsigning",

taskcluster/gecko_taskgraph/transforms/task.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -850,6 +850,7 @@ def build_generic_worker_payload(config, task, task_def):
850850
Optional("mac-behavior"): Any(
851851
"mac_notarize_part_1",
852852
"mac_notarize_part_3",
853+
"mac_sign",
853854
"mac_sign_and_pkg",
854855
"mac_geckodriver",
855856
"mac_notarize_geckodriver",

0 commit comments

Comments
 (0)