Closed Bug 486567 Opened 16 years ago Closed 16 years ago

unify the try server code with the existing BuildFactory's

Categories

(Release Engineering :: General, defect, P2)

x86
macOS
defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: bhearsum, Assigned: bhearsum)

References

Details

Attachments

(4 files, 4 obsolete files)

Almost every single time a feature or bugfix is deployed to moz2-master the try server does not get it for some time. Sometimes days, weeks, or even months later. Right now, a prime example of this is crashstacks. These days, it should be relatively easy to unify the try code with the existing factories we have. Try will probably need a bit of subclassing to deal with properly displaying information and working with patches via the web interface, but on the whole, it should be mostly the same.
Priority: -- → P3
Blocks: 486756
Blocks: 487203
Blocks: 491378
Getting started on this today.
Priority: P3 → P2
Attached patch TryBuildFactory (for hg only) (obsolete) — Splinter Review
This patch adds a TryBuildFactory. Mostly it's a dump of logic from tryserver/master.cfg to the factory, but wherever possible we share the MercurialBuildFactory code. To accommodate that, I've had to do a few things: * Rename MozillaBuildFactory.addPreBuildSteps to addInitialSteps * Move self.configRepo and self.mozconfig assignment to MercurialBuildFactory.addConfigSteps * Add a 'pkgArgs' to MercurialBuildFactory.addUploadSteps to allow for PKG_BASENAME overriding I think tryserverfactory.py is pretty straightforward, it's the bare minimum we need to override for try builds (which is a lot, sadly). Most of the overriding is necessary to support web submitted builds - CustomPatch, PatchDownload, etc. I haven't added sendchange support just yet, I'll do that before this goes live in production, though. The last part of this patch is just the tryserver/steps.py -> steps/tryserver.py change. It's a straight copy, no changes made. buildbot-configs patch will be posted soon.
Attachment #376737 - Flags: review?(catlee)
Attached patch master side patch (obsolete) — Splinter Review
Alright, this diff is huge, but there's not a whole lot going on here. Here's a summary: * Move variables to config.py * Move CVS/unittest steps to factories.py * Rename builders to be consistent with other Buildbots * Switch regular hg builders to TryBuildFactory * Move mac mozconfigs to mozconfig-macosx* That's it! Note that the unittest builds aren't using a buildbotcustom factory since we're going to switch to packaged unittest runs soon enough - it didn't seem worth the effort to do it.
Attachment #376744 - Flags: review?(catlee)
Attachment #376737 - Flags: review?(catlee) → review+
Comment on attachment 376744 [details] [diff] [review] master side patch It would be nice to get rid of the repeated calls to TryBuildFactory eventually, and have the per-platform factories constructed in a loop, similar to how our build/unittest master works.
Attachment #376744 - Flags: review?(catlee) → review+
Only change in this patch is the removal of the win32 tryserver environment - which has been moved to the buildbot-configs repo. Updated master-side patch is incoming. (Carrying review forward as per IRC.)
Attachment #376737 - Attachment is obsolete: true
Attachment #376913 - Flags: review+
Here's a summary of the changes: * Added config.WIN32_ENVIRONMENT * Rename mac mozconfig to macosx, for consistency * Pass the correct 'objdir' for Mac hg builds That's it! I still need to implement sendchange, but I'm going to do that in a patch on top of these ones.
Attachment #376744 - Attachment is obsolete: true
Attachment #376914 - Flags: review?(catlee)
Attachment #376914 - Flags: review?(catlee) → review+
Comment on attachment 376913 [details] [diff] [review] buildbotcustom patch, tryserver tryserver/* removed changeset: 279:c245fff1048b Holding off on the master side patch until the sendchange part is done.
Attachment #376913 - Flags: checked‑in+ checked‑in+
Comment on attachment 376913 [details] [diff] [review] buildbotcustom patch, tryserver tryserver/* removed I had to back this out because it broke the moz2-master config.
Attachment #376913 - Flags: checked‑in+ checked‑in+
This patch is based on the previous one and has a few things in it: * Bugfixes to make dep/nightly/leaktest work again (self.mozconfig/config* stuff) * Support sendchange to talos, unittest Because of the way the configs are being done now I had to use the self.super_class technique to make sure reconfigs don't hose anything.
Attachment #377189 - Flags: review?(catlee)
Attached patch master side followup (obsolete) — Splinter Review
Same deal here - this is based on the previous patch. Here's what's happening: * Finish renaming 'mac' to 'macosx' * s/TALOS_TRY_MASTER/TALOS_TRY_MASTERS/ * Change PACKAGE_URL to accommodate the new factory
Attachment #377190 - Flags: review?(catlee)
Attachment #377189 - Flags: review?(catlee) → review+
Attachment #377190 - Flags: review?(catlee) → review+
My previous patch ended up with crappy upload directories: they didn't have the username in them and they were per platform. This patch fixes that on the buildbotcustom side.
Attachment #377189 - Attachment is obsolete: true
Attachment #377528 - Flags: review?(catlee)
Same thing on the master side - the metadiff should make it pretty clear.
Attachment #377190 - Attachment is obsolete: true
Attachment #377530 - Flags: review?(catlee)
Attachment #377528 - Flags: review?(catlee) → review+
Attachment #377530 - Flags: review?(catlee) → review+
Comment on attachment 377530 [details] [diff] [review] master side followup changeset: 1146:6a021eec4d50
Attachment #377530 - Flags: checked‑in+ checked‑in+
Comment on attachment 377528 [details] [diff] [review] same as before, with better upload directories changeset: 285:ea5c9d8f38e4
Attachment #376914 - Flags: checked‑in+
Attachment #377528 - Flags: checked‑in+
Attachment #376914 - Flags: checked‑in+
Attachment #377528 - Flags: checked‑in+
Comment on attachment 376914 [details] [diff] [review] updated master side patch changeset: 1145:c5d4d2a880a3
Attachment #376913 - Flags: checked‑in+ checked‑in+
Comment on attachment 376913 [details] [diff] [review] buildbotcustom patch, tryserver tryserver/* removed changeset: 284:f96c012a30be
This bug is FIXED. I've filed a couple of followups for additional cleanup: bug 493227 - separate BuildFactorys into different files and bug 493228 - run packaged unittest builds on the try server.
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Depends on: 493489
Depends on: 493488
Product: mozilla.org → Release Engineering
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: