Closed Bug 1324052 Opened 8 years ago Closed 8 years ago

add macosx64 nightly builds to the taskgraph

Categories

(Firefox Build System :: Task Configuration, task)

task
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: kmoir, Assigned: kmoir)

References

Details

Attachments

(6 files, 34 obsolete files)

1.99 KB, patch
Details | Diff | Splinter Review
21.63 KB, patch
mozilla
: feedback+
Details | Diff | Splinter Review
4.51 KB, application/json
Details
19.02 KB, patch
Details | Diff | Splinter Review
5.48 KB, patch
Details | Diff | Splinter Review
4.05 KB, application/json
Details
No description provided.
Blocks: 1267425
Assignee: nobody → kmoir
Attached patch bug1267425-2.patch (obsolete) — Splinter Review
Attachment #8819363 - Attachment is obsolete: true
Comment on attachment 8819399 [details] [diff] [review] bug1267425-3.patch I frustrated with the mach repackage bug so I decided to work on another bug instead. I realize that all the dependencies for this graph are not implemented but thought it would be useful to implement this in the taskgraph on date, it won't be invoked until the hook is added anyways.
Attachment #8819399 - Flags: feedback?(bugspam.Callek)
Comment on attachment 8819399 [details] [diff] [review] bug1267425-3.patch Review of attachment 8819399 [details] [diff] [review]: ----------------------------------------------------------------- I'm working on the tc-l10n bits now locally, not sure if they will be this easy... That said, I'm aware of some gotchya's in how we did l10n so far, so probably easiest to leave l10n out for now (but I don't actually mind if it lands) Secondarily my other comments are available for debate/discussion... Overall this is very good (I didn't run locally to check its task output, though) ::: taskcluster/ci/build/macosx.yml @@ +53,5 @@ > + product: firefox > + job-name: macosx64-nightly-opt > + treeherder: > + platform: osx-10-7/opt > + symbol: tc(B) tc(N) ::: taskcluster/ci/nightly-l10n/kind.yml @@ +132,5 @@ > + treeherder: > + platform: macosx64/opt > + worker: > + env: > + EN_US_PACKAGE_NAME: target.tar.bz2 target.dmg ::: taskcluster/taskgraph/target_tasks.py @@ +158,5 @@ > return task.attributes.get('nightly', False) > return [l for l, t in full_task_graph.tasks.iteritems() if filter(t)] > + > + > +@_target_task('nightly_macosx') I'm of the mindset that we should have all desktop as one target_tasks method, and not per-platform on desktop. This is of course debatable.
Attachment #8819399 - Flags: feedback?(bugspam.Callek) → feedback-
Attached patch bug1324052-4.patch (obsolete) — Splinter Review
Thanks for the feedback I was going to leave the macosx part as a separate call so the current hook doesn't initiate it until we have the dependent issues fixed.
Attachment #8819399 - Attachment is obsolete: true
Attachment #8819421 - Flags: feedback?(bugspam.Callek)
Comment on attachment 8819421 [details] [diff] [review] bug1324052-4.patch Review of attachment 8819421 [details] [diff] [review]: ----------------------------------------------------------------- ::: taskcluster/ci/nightly-l10n/kind.yml @@ +144,5 @@ > + - taskcluster_nightly.py > + options: > + - environment-config=single_locale/production.py > + - branch-config=single_locale/{project}.py > + - platform-config=single_locale/linux64.py last minute catch s/linux64/macosx64/
Attachment #8819421 - Flags: feedback?(bugspam.Callek) → feedback+
Attached patch bug1324052-5.patch (obsolete) — Splinter Review
Attachment #8819421 - Attachment is obsolete: true
Attached patch bug1324052-6.patch (obsolete) — Splinter Review
Attachment #8819891 - Attachment is obsolete: true
patch to consolidate nightly builds once mac builds are ready hook definition will have to be updated to from nightly_linux to nightly_all
Attached patch bug1324052-7.patch (obsolete) — Splinter Review
unbitrotten patch. I still have to refactor it to account for the signing and packaging pipeline in bug 1318505
Attachment #8819894 - Attachment is obsolete: true
Attached patch bug1324052-8.patch (obsolete) — Splinter Review
Attachment #8845505 - Attachment is obsolete: true
Blocks: 1318505
Attached patch bug1324052-9.patch (obsolete) — Splinter Review
So this is a patch I have in progress for nightly mac builds which fixes up the artifact format etc. It doesn't have the mach repackage task added https://treeherder.mozilla.org/#/jobs?repo=try&revision=1de627b8fe2e15e72b512c7b82cf7e5a35b39d20 I realize the next step after running the signing job is is take the tarball it creates and pass it to mach repackage task to create the dmg with the signed artifacts. I'm unsure of the parameters for the mach repackage job. Is it just a build task with different parameters than the first unsigned build job?
Attachment #8845528 - Attachment is obsolete: true
Attachment #8845653 - Flags: feedback?(bugspam.Callek)
notes: I haven't fixed taskcluster/taskgraph/transforms/beetmover.py yet, it's a todo
Attachment #8845653 - Flags: feedback?(bugspam.Callek)
So, the (In reply to Kim Moir [:kmoir] from comment #14) > Created attachment 8845653 [details] [diff] [review] > bug1324052-9.patch This looks like a good direction > I realize the next step after running the signing job is is take the tarball > it creates and pass it to mach repackage task to create the dmg with the > signed artifacts. > > I'm unsure of the parameters for the mach repackage job. Is it just a build > task with different parameters than the first unsigned build job? It will be a mozharness job, probably a different script. The main reason for even using mozharness is to gather the tooltool bits to do the dmg creation and running configure. I'm not certain how this will all look yet, but it will need the url to the signed tarball of course, and need chain of trust enabled. this is the job that should also have the signing related routes attached, because it will be the deliverable we get out of signing. Hope that helps.
Attached patch wip patches (obsolete) — Splinter Review
sort of fell down a refactoring rabbit hole this afternoon. These patches are a wip, don't work yet.
I went for a walk in the snowstorm tonight and was thinking about my code. I think I took the wrong approach with the part where I'm trying to transform the build-signing task to a repackage task. I think I need to just add a new task that, as aki suggested in irc task.payload.upstreamArtifacts will point at the mac build-signing task task.payload.features.chainOfTrust = True and transform some of the upstream attributes to be a new repackage task. fix routes I'm not sure of the scopes, the worker type, or the mh script to be called.
Attached patch old wip patches (obsolete) — Splinter Review
Attachment #8847287 - Attachment is obsolete: true
See Also: → 1185666
Attached patch bug1324052tc-3.patch (obsolete) — Splinter Review
patches from this morning, refactored on top of bug 1333255, going to define a new task implementation for repackage now the existing task implementations of balrog, beetmover, and scriptworker-signing have upstream artifacts defined but this task doesn't really fall in these categories
Attachment #8847618 - Attachment is obsolete: true
Attached patch bug1324052tc-4.patch (obsolete) — Splinter Review
running a try run now, not quite ready yet but making progress
Attachment #8847674 - Attachment is obsolete: true
Attached patch bug1324052tc-5.patch (obsolete) — Splinter Review
Try run is here https://treeherder.mozilla.org/#/jobs?repo=try&revision=8f4ea23a3966383ca415f72eb4aa0494c4835d8a https://public-artifacts.taskcluster.net/BKXYAlt2SLaW-GuRkbvfVA/0/public/full-task-graph.json has task repackage-macosx64-nightly things I still need to add but not sure of values scopes mh script to call Also, not sure how to enable cot as feature in payload will ask in #tcmigration
Attachment #8847783 - Attachment is obsolete: true
- I think we should enable run-on-projects once we're ready - I don't think scopes are important for this - I don't know if the mh script is written yet? - to enable cot generation, set task.payload.features.chainOfTrust to True
Attached patch bug1324052tc-6.patch (obsolete) — Splinter Review
I tried several different ways last night and this morning to enable cot generation, set task.payload.features.chainOfTrust to True and it didn't work (wasn't included in graph). So if you have suggestions, I would appreciate it. Also, I'm not sure what the worker-type should be, do we need to define a new one or just use the build one which is gecko-1-b-linux?
Attachment #8847869 - Attachment is obsolete: true
Flags: needinfo?(aki)
Is this what you're looking for? https://hg.mozilla.org/integration/mozilla-inbound/file/tip/taskcluster/taskgraph/transforms/task.py#l461 https://hg.mozilla.org/integration/mozilla-inbound/file/tip/taskcluster/taskgraph/transforms/build.py#l25 You probably want to follow the build transform's chain of trust settings, including the docker image builder in task.extra.chainOfTrust.inputs as well. I'm guessing the build workerType is best.
Flags: needinfo?(aki)
Yes, I tried that approach above but it didn't work but I will play with it some more. thanks!
If you're talking about + task = { + 'label': label, + 'description': "{} Signing".format( + dep_job.task["metadata"]["description"]), + 'worker-type': "scriptworker-prov-v1/signing-linux-v1", + 'worker': {'implementation': 'repackage', + 'upstream-artifacts': job['upstream-artifacts']}, + # 'scopes': [signing_cert_scope] + signing_format_scopes, + 'scopes': repackaging_format_scopes, + 'dependencies': {job['depname']: dep_job.label}, + 'attributes': attributes, + 'run-on-projects': dep_job.attributes.get('run_on_projects'), + 'treeherder': treeherder, + 'routes': job.get('routes', []) + # 'features': {'chainOfTrust': 'true'} you commented out adding task.features, rather than setting task.worker.chain-of-trust
Attached patch bug1324052tc-7.patch (obsolete) — Splinter Review
Aki, I still can't seem to get the chain of trust bits in the graph and it would be great to have a second set of eyes as to what I'm doing wrong.
Attachment #8848118 - Attachment is obsolete: true
Flags: needinfo?(aki)
Ok. A few things: I pushed my changes to https://hg.mozilla.org/try/pushloghtml?changeset=4cbd3683dc5ee31e45f04d5d7e025d23504b9b31 . I was able to get task.payload.features.chainOfTrust set to True using the nightly_macosx target_task_method locally. - we don't need both transforms.repackage and transforms.repackaging. I combined them and got the same graph - the changes we make to the transforms.repackage task or job are basically changes that we pick up in transforms.task.build_repackage_payload . So if you add something like task['chain-of-trust'], you have to change the task definition in that function, and remove it from the task dict. If all tasks of a certain type have a certain feature, you can hardcode it there, or in the transforms, or taskcluster.ci yml files. - upstreamArtifacts and scriptworker scopes are only relevant to scriptworker. We're going to be running mac repackaging on docker-worker, so this is going to look a lot more like the build kind than the signing kind. docker-worker requires a certain payload schema [1]. Most likely you want to pass through the @payload_builder('docker-worker') in transforms.task. Does that help? [1] https://github.com/taskcluster/docker-worker/blob/master/schemas/payload.json
Flags: needinfo?(aki)
yes, the taskgraph looks good thank you very much. Sorry I got off on the wrong path with two transforms, I tried the single transform earlier and I couldn't get it to work. I should have asked more questions earlier.
Attached patch bug1324052tc-8.patch (obsolete) — Splinter Review
patches cleaned up to removed unused wip, fix pep8 errors
Attachment #8845653 - Attachment is obsolete: true
Attachment #8848202 - Attachment is obsolete: true
Attached patch bug1324052tc-9.patch (obsolete) — Splinter Review
More cleanup. https://treeherder.mozilla.org/#/jobs?repo=try&revision=f3c9d8f607d57750cc2ecfc07f5b9ee7f478e34c Now that the graph is created correctly, I could land these on date (note the the patches are against m-c, may have to rebase a bit against date). I talked to Callek, we are still sorting out how the mh script will be called, I will add an env to do that next
Attachment #8848343 - Attachment is obsolete: true
Attachment #8848507 - Flags: feedback?(aki)
Comment on attachment 8848507 [details] [diff] [review] bug1324052tc-9.patch You're still setting upstreamArtifacts (scriptworker only); I think these will break docker-worker. It also looks like you're still missing a bunch of the docker-worker task definition. Here's a docker worker linux build from date: https://queue.taskcluster.net/v1/task/azRfkWWjT7e7FAjBu3OaRg The repackage task definition should look similar to that, with a different command and env.
Attachment #8848507 - Flags: feedback?(aki) → feedback+
Attached patch bug1324052tc-10.patch (obsolete) — Splinter Review
updated patches. still some work to be done.
Attachment #8848507 - Attachment is obsolete: true
Attached file sortedmac.json (obsolete) —
So the previous patches used implementation of docker-worker which isn't correct. I tried to change it to use the repackage implementation but it's not working and I think I need to look at it in the morning with fresh eyes. Going to ask aki if we can look at this together if I can't find solution it in the morning. The attached file is the sorted json that is created with the previous patches. The scopes should be removed. I don't know if relengAPIProxy or taskclusterProxy are required. The mh command is not really defined yet because I'm not sure of the parameters and it needs a env to point to the signed artifacts according to Callek. I'm not sure if the workertype is correct either.
Attached patch latest.patch (obsolete) — Splinter Review
latest patch doesn't work I want to have 'worker': {'implementation': 'repackage', in taskcluster/taskgraph/transforms/repackage.py and it doesn't work
So here is the conclusion from talking to to aki I should switch to transforming the build kind and override with the repackage kind. It includes both mh and docker-worker. So I should be able to transform it to include the correct command and env. The env should include a link to the task that will have the signing artifacts. kmoir-mtg: 'dependencies': {job['depname']: dep_job.label}, 1:55 PM "https://queue.tc.net/.../{depname:label}/..." When the optimization of the graph completes, the repackage task will have a url to the task of the signed artifacts.
Attached patch bug1324052tc-11.patch (obsolete) — Splinter Review
This patch is making progress. I'm attempting to replicate the bits from Callek's task here https://tools.taskcluster.net/task-inspector/#Av6XRz0qT76mdO9C3HnsZQ/ My try run https://treeherder.mozilla.org/#/jobs?repo=try&author=kmoir@mozilla.com&selectedJob=85479249 task graph generated from try run with repackage-macosx64-nightly/opt https://public-artifacts.taskcluster.net/TRfl3l3PQt-tKqV_FM5HsA/0/public/full-task-graph.json The things I am missing are relengAPIProxy - callek suggested looking at https://dxr.mozilla.org/mozilla-central/source/taskcluster/taskgraph/transforms/job/mozharness.py#130 https://dxr.mozilla.org/mozilla-central/source/taskcluster/taskgraph/transforms/job/mozharness.py#50 but I couldn't get it to work The SIGNED_INPUT does not have the correct value, I think I know how to fix this "SIGNED_INPUT": "https://queue.taskcluster.net/{depname:label}/target.tar.gz", this is missing "artifacts": { "public/build": { "path": "/home/worker/workspace/build/upload/", "expires": "2017-04-17T19:18:20.235910Z", "type": "directory" } }, Anyways, I will look at it again in the morning
Attachment #8848644 - Attachment is obsolete: true
Attachment #8849191 - Attachment is obsolete: true
Also, the dependencies are wrong "dependencies": { "build": "build-macosx64-nightly/opt" }, They are fine if you look in the repackage task u'dependencies': {u'build': u'signing-macosx64-nightly/opt'} They must get overridden somewhere else
actually the dependencies are fine I just have read too many task graphs today
Attached file macrepackage.json (obsolete) —
latest graph from my try run, Callek I would appreciate feedback on it, I know it's not 100% yet but want to make sure I'm on the correct path
Flags: needinfo?(bugspam.Callek)
This looks very close, things of note the artifacts should either be a directory listing piece, or a target.dmg entry, not the .zst We of course need to have the environment piece expanded out (taskref-or-string type thing). And lastly, the scopes will be needing some love, because of the relengapiproxy features for tooltool (we need the internal scope, at the least). I do feel this task def is in the right direction. I think we'll want some tweaking on the index routing, but I'd rather see where its coming from in a real patch before I comment much there.
Flags: needinfo?(bugspam.Callek)
Attached patch bug1324052tc-12.patch (obsolete) — Splinter Review
Attachment #8848961 - Attachment is obsolete: true
Attachment #8849808 - Attachment is obsolete: true
Attached patch bug1324052tc-13.patch (obsolete) — Splinter Review
Attachment #8850105 - Attachment is obsolete: true
Attached patch bug1324052tc-14.patch (obsolete) — Splinter Review
fixed scopes I'll also attach json from latest try run to verify that it is okay. https://treeherder.mozilla.org/#/jobs?repo=try&revision=8ce8845c87861b5fc230ed13bb1c72a4b1172203
Attachment #8850195 - Attachment is obsolete: true
Attached file mac-signing.json (obsolete) —
callek does this look better?
Attachment #8850097 - Attachment is obsolete: true
Flags: needinfo?(bugspam.Callek)
Comment on attachment 8850258 [details] mac-signing.json Starting to look good, Current Concerns: Artifacts: the output name is image.tar.zst instead of target.dmg Caches: imagebuilder? probably not relevant. We want at least tooltool's cache as well. Scopes: Other than appropriate scope for caches, we need `secrets:get:project/taskcluster/gecko/hgfingerprint` `docker-worker:relengapi-proxy:tooltool.download.public` in addition to `docker-worker:relengapi-proxy:tooltool.download.internal` Environment: the value here (in json) is wrong, you have: "SIGNED_INPUT": "https://queue.taskcluster.net/v1/task/{task-reference: <build-signing>}/artifacts/public/build/target.tar.gz", -- It should have a value of `{task-reference: "https://queue.taskcluster.net/v1/task/<build-signing>/artifacts/public/build/target.tar.gz"}` needs to actually be a dict. Image: `"image": "taskcluster/image_builder@` pretty sure we need the build image. Routes: I'm not sure we want `index.gecko.v2.try.repackage-nightly.*` as a thing at all, I'd chat with mshal before adding these. (Can omit these routes in pass 1, imo)
Flags: needinfo?(bugspam.Callek)
Attached patch bug1324052tc-15.patch (obsolete) — Splinter Review
Attachment #8850256 - Attachment is obsolete: true
Attached file mac-repackage.json (obsolete) —
Attachment #8850258 - Attachment is obsolete: true
Attachment #8850573 - Flags: feedback?(bugspam.Callek)
Attachment #8850572 - Flags: feedback?(bugspam.Callek)
Comment on attachment 8850572 [details] [diff] [review] bug1324052tc-15.patch Review of attachment 8850572 [details] [diff] [review]: ----------------------------------------------------------------- ::: taskcluster/taskgraph/transforms/repackage.py @@ +142,5 @@ > + ['docker-worker:relengapi-proxy:tooltool.download.internal', > + 'secrets:get:project/taskcluster/gecko/hgfingerprint', > + 'docker-worker:relengapi-proxy:tooltool.download.public'], > + 'worker': {'implementation': 'docker-worker', > + 'docker-image': docker_image('base-build'), nope, this yields quay.io results, the image we should be using is the same one as OSX builds from the build kind. @@ +155,5 @@ > + }], > + 'artifacts': [{ > + 'type': 'file', > + 'path': '/home/worker/workspace/artifacts/target.dmg', > + 'name': 'public/image.tar.dmg', name' ... 'target.dmg' not 'image.tar.dmg'
Attachment #8850572 - Flags: feedback?(bugspam.Callek)
Attachment #8850573 - Flags: feedback?(bugspam.Callek)
Comment on attachment 8850572 [details] [diff] [review] bug1324052tc-15.patch Noteworthy, iterations of this would be easier (for me) if it was through mozreview, since I could easily see the interdiff of various iterations, rather than trying to skim and see what changed...
Attached patch bug1324052tc-16.patch (obsolete) — Splinter Review
Kims-MacBook-Pro:mozilla-inbound kmoir$ diff ~/bug1324052tc-15.patch ~/bug1324052tc-16.patch 3c3 < # Parent ddc1e4a43016fae924da600d07dc37ea5a4e685d --- > # Parent c309f93f5c33eaaff2294ef70ab18158d3fbb25d 451c451 < + 'docker-image': docker_image('base-build'), --- > + 'docker-image' : {"in-tree": "desktop-build"}, 464c464 < + 'name': 'public/image.tar.dmg', --- > + 'name': 'public/image.dmg'
Attachment #8850572 - Attachment is obsolete: true
Attached file mac-repackage2.json (obsolete) —
10c10,11 < "build": "signing-macosx64-nightly/opt" --- > "build": "signing-macosx64-nightly/opt", > "docker-image": "build-docker-image-desktop-build" 45c46 < "description": "MacOS X x64 Cross-compile Nightly ([Treeherder push](https://treeherder.mozilla.org/#/jobs?repo=try&revision=f55217a147e19a746e8b6f22804109daa9213178)) Signing ([Treeherder push](https://treeherder.mozilla.org/#/jobs?repo=try&revision=f55217a147e19a746e8b6f22804109daa9213178)) Repackage ([Treeherder push](https://treeherder.mozilla.org/#/jobs?repo=try&revision=f55217a147e19a746e8b6f22804109daa9213178))", --- > "description": "MacOS X x64 Cross-compile Nightly ([Treeherder push](https://treeherder.mozilla.org/#/jobs?repo=try&revision=5ccfef960e430e48c1d35ea0794396559a60df13)) Signing ([Treeherder push](https://treeherder.mozilla.org/#/jobs?repo=try&revision=5ccfef960e430e48c1d35ea0794396559a60df13)) Repackage ([Treeherder push](https://treeherder.mozilla.org/#/jobs?repo=try&revision=5ccfef960e430e48c1d35ea0794396559a60df13))", 48c49 < "source": "https://hg.mozilla.org/try//file/f55217a147e19a746e8b6f22804109daa9213178/taskcluster/ci/repackage" --- > "source": "https://hg.mozilla.org/try//file/5ccfef960e430e48c1d35ea0794396559a60df13/taskcluster/ci/repackage" 52c53 < "public/image.tar.dmg": { --- > "public/image.dmg": { 80c81 < "GECKO_HEAD_REV": "f55217a147e19a746e8b6f22804109daa9213178", --- > "GECKO_HEAD_REV": "5ccfef960e430e48c1d35ea0794396559a60df13", 87c88 < "MOZ_BUILD_DATE": "20170323160138", --- > "MOZ_BUILD_DATE": "20170323175157", 101c102,108 < "image": "quay.io/mozilla/base-build@sha256:e3fa6fef48461c8a3977f2e328024a1c505b6e78a5f692b964488b45df3a1a2f", --- > "image": { > "path": "public/image.tar.zst", > "taskId": { > "task-reference": "<docker-image>" > }, > "type": "task-image" > }, 106,107c113,114 < "tc-treeherder.v2.try.f55217a147e19a746e8b6f22804109daa9213178.178244", < "tc-treeherder-stage.v2.try.f55217a147e19a746e8b6f22804109daa9213178.178244" --- > "tc-treeherder.v2.try.5ccfef960e430e48c1d35ea0794396559a60df13.178268", > "tc-treeherder-stage.v2.try.5ccfef960e430e48c1d35ea0794396559a60df13.178268"
Attachment #8850573 - Attachment is obsolete: true
Attachment #8850612 - Flags: feedback?(bugspam.Callek)
Attached patch bug1324052-date.patch (obsolete) — Splinter Review
patch for latest on date branch
Comment on attachment 8850615 [details] mac-repackage2.json Current concerns: dependency+SIGNED_INPUT: the <build-signing> in SIGNED_INPUT won't match the `name` on any of the dependencies. (we have 'build' and 'docker-image' as deps, not 'build-signing') please match them up. This looks a lot better, thanks!
Thanks for all the reviews Callek. I appreciate it and know I've asked a lot the last few days. diff between last two patches 430c430 < + dependencies = {job['depname']: dep_job.label} --- > + dependencies = {dep_job.attributes.get('kind'): dep_job.label} Kims-MacBook-Pro:mozilla-inbound kmoir$ diff ~/mac-repackage2.json ~/mac-repackage3.json 10c10 < "build": "signing-macosx64-nightly/opt", --- > "build-signing": "signing-macosx64-nightly/opt", https://treeherder.mozilla.org/#/jobs?repo=try&revision=b714019ea37746f99b68c4a99adef086003d882b&selectedJob=86095949 mozreview is on my list of things to start using, I just have a lot of bugzilla muscle memory.
Attachment #8850612 - Attachment is obsolete: true
Attachment #8850612 - Flags: feedback?(bugspam.Callek)
Attachment #8850807 - Flags: feedback?(aki)
Attached file mac-repackage3.json
Attachment #8850615 - Attachment is obsolete: true
Attached patch updated patch for date (obsolete) — Splinter Review
Attachment #8850685 - Attachment is obsolete: true
Comment on attachment 8850807 [details] [diff] [review] bug1324052tc-17.patch Just looking at the diff you posted, those look like good changes.
Attachment #8850807 - Flags: feedback?(aki) → feedback+
kmoir https://tools.taskcluster.net/task-group-inspector/#/Dmvttt5HRxOwWgvGhuy74g?_k=6efiw7 4:34 PM build is running 4:35 PM I need to change all the dependencies so that beetmover etc depend on mac repackage not signing aki yeah 4:37 PM windows will also need special beetmover etc deps
Attached patch bug1324052-more.patch (obsolete) — Splinter Review
I also had to land this patch to add the signing:dmg scope and then add the scope here https://tools.taskcluster.net/auth/roles/#project:releng:nightly:level-3:*
The repackage job ran but the link to the dmg artifact says it is missing on the worker https://tools.taskcluster.net/task-group-inspector/#/Dmvttt5HRxOwWgvGhuy74g/cxi6BhRpRY2f0X4c6cbLNw?_k=f01een
(In reply to Kim Moir [:kmoir] from comment #63) > The repackage job ran but the link to the dmg artifact says it is missing on > the worker > > https://tools.taskcluster.net/task-group-inspector/#/Dmvttt5HRxOwWgvGhuy74g/ > cxi6BhRpRY2f0X4c6cbLNw?_k=f01een From the log: [task 2017-03-24T21:00:04.731024Z] 21:00:04 INFO - Copy/paste: python2.7 mach --log-no-times repackage --input /home/worker/workspace/inputs/target.tar.gz --output /home/worker/workspace/build/upload/target.dmg From the task definition: "artifacts": { "public/image.dmg": { "path": "/home/worker/workspace/artifacts/target.dmg", Looks like you want to change that path to "/home/worker/workspace/build/upload/target.dmg" . Also, "public/image.dmg" probably wants to be "public/build": "artifacts": { "public/build": { "path": "/home/worker/workspace/build/upload/target.dmg",
(In reply to Aki Sasaki [:aki] from comment #64) > "artifacts": { > "public/build": { > "path": "/home/worker/workspace/build/upload/target.dmg", Looks like I have to specify "public/build/target.dmg", probably because this isn't a directory.
consolidated patches on date I have to clean them up to remove the logging stuff I was using for debugging as well as fix the schema verification for repackage. Now, I'll work on fixing the dependencies for beetmover so that they shift to depending on the repackage task for mac, but remain the signing task for other platforms
Attachment #8851041 - Attachment is obsolete: true
Attachment #8851096 - Attachment is obsolete: true
so the beetmover doesn't can't currently deal with tasks that have two dependencies and the repackage task has dependencies like this "dependencies": { "build-signing": "signing-macosx64-nightly/opt", "docker-image": "build-docker-image-desktop-build" }, so I think I need to transform the job for macosx in the beetmover transform
That's the second time beetmover's funny business with dependencies has caused issues. Maybe it can be reconsidered? I don't understand the rationale too well, so all I can do is suggest the possibility that maybe the beetmover implementation should be changed.
so these are preliminary patches to change the dependencies for macosx nightlies so the beetmover task depends on repackage instead of build-signing they are very hacky. I just changed the beetmover kind to have two dependencies and then changed the beetmover transforms and loader not to load the dependency that's not needed macosx and vice versa The alternative approach is the add another kind but then you have to add new kinds for all the following tasks because if you have a new beetmover kind for macosx, then for balrog then for checksums etc. So I'm looking for feedback if this is the right approach or not. The l10n dependencies are not fixed. I'll attach the json from a try run in the next patch.
Attached file beetrepackage.json
beetmover-repackage-macosx64-nightly from this try run https://treeherder.mozilla.org/#/jobs?repo=try&revision=cc782df798acab5685b563c2232b36320c33a46a There are several things wrong with this for instance "task-reference": "<repackage>" in the payload for the build artifacts the non-dmg artifacts should be from the build task, yet the dmg needs to be from the signed build anyways, wip
Mshal, what should be the routes for the repackage task? Callek mentioned in comment 48 that I should ask you about this.
Flags: needinfo?(mshal)
This bug covered adding macosx nightly builds and the signing and repackage tasks to the taskgraph. I opened bugs 1352417 (beetmover) and 1352426 (balrog) parts of the taskgraph. They depend on other beetmover and balrog bugs that need to be implemented before we can add them to the taskgraph.
Do we need to index both the artifacts from the signing task and the repackage task? IMO the signing task is really just intermediate in this case, and we should only index the repackaged task. Callek and I chatted about how to index the final signed artifacts, which I believe are the ones under gecko.v2.mozilla-central.signed-nightly
Flags: needinfo?(mshal)
https://hg.mozilla.org/build/puppet/rev/ca09fef599e812bfbfc9b86b72764781243f95e4 bug 1324052 - bump scriptworker versions to allow for repackage cot. r=callek
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Product: TaskCluster → Firefox Build System
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: