Closed Bug 508243 Opened 15 years ago Closed 15 years ago

Move CC* release automation classes to buildbotcustom

Categories

(Release Engineering :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: kairo, Assigned: kairo)

References

Details

Attachments

(1 file, 1 obsolete file)

This is the last step to have release automation for comm-central, the CC* classes I have prototyped in ccfactory.py in SeaMonkey's buildbot config need to be moved to buildbotcustom.
Here's the patch that adds all the classes we need changed to factory.py - all the others, like updates or the verification classes, can just be used directly.

The source class is different enough that deriving from the Firefox one doesn't make much sense, but the rest are derived from the common ones as usual.

Those are exactly the classes I used for the SeaMonkey 2.0b1 release.
Attachment #392476 - Flags: review?(gozer)
Attachment #392476 - Flags: review?(bhearsum)
Comment on attachment 392476 [details] [diff] [review]
Add CC release classes to factory.py

in CCReleaseRepackFactory.updateSources(), shouldn't it use client.py instead of updating/pulling stuff directly ?

In, CCSourceFactory, should it call 'make source-package' instead of tarring up things by itself ?
Comment on attachment 392476 [details] [diff] [review]
Add CC release classes to factory.py

>+class CCReleaseBuildFactory(CCMercurialBuildFactory, ReleaseBuildFactory):
>+    def __init__(self, mozRepoPath='', inspectorRepoPath='',
>+                 venkmanRepoPath='', cvsroot='', **kwargs):
>+        self.skipBlankRepos = True
>+        self.mozRepoPath = mozRepoPath
>+        self.inspectorRepoPath = inspectorRepoPath
>+        self.venkmanRepoPath = venkmanRepoPath
>+        self.cvsroot = cvsroot
>+        ReleaseBuildFactory.__init__(self, mozillaDir='mozilla', **kwargs)
>+
> 

/me is happy that this is all you need to do here.


>+class CCReleaseTaggingFactory(ReleaseTaggingFactory):
>+    def __init__(self, chatzillaTimestamp, cvsroot, **kwargs):
>+        ReleaseTaggingFactory.__init__(self, **kwargs)
>+
>+        # need to repeat those definitions here
>+        buildTag = '%s_BUILD%s' % (kwargs['baseTag'], str(kwargs['buildNumber']))
>+        releaseTag = '%s_RELEASE' % kwargs['baseTag']
>+
You're totally welcome to set these in ReleaseTaggingFactory.__init__ rather than regenerating them here.


Looks fine otherwise.
Attachment #392476 - Flags: review?(bhearsum) → review+
(In reply to comment #2)
> (From update of attachment 392476 [details] [diff] [review])
> in CCReleaseRepackFactory.updateSources(), shouldn't it use client.py instead
> of updating/pulling stuff directly ?

It actually pulls with client.py but then makes sure we have the right revision by directly doing a hg up (note that we don't pull, just update). I'm following what the main ReleaseRepackFactory does there and it's no harm to do another update to be sure.

> In, CCSourceFactory, should it call 'make source-package' instead of tarring up
> things by itself ?

I think we should end up doing that one day, yes, but we need to prepare the build environment to use that and I wasn't in the mood to figure that out so I just did what matches the source factory the original has.
Here's an updated version that doesn't redefine buildTag and releaseTag.
Ben, I'm re-requesting your review for making sure I haven't missed any "self." in there.
Gozer, is it OK to take them this way with my comments above and possibly improve them later on?
Attachment #392476 - Attachment is obsolete: true
Attachment #393826 - Flags: review?(gozer)
Attachment #393826 - Flags: review?(bhearsum)
Attachment #392476 - Flags: review?(gozer)
(In reply to comment #5)
> Created an attachment (id=393826) [details]
> Add CC release classes to factory.py, v1.1
> 
> [...]
> Gozer, is it OK to take them this way with my comments above and possibly
> improve them later on?

Yes, that's fine by me.
Attachment #393826 - Flags: review?(gozer) → review+
Attachment #393826 - Flags: review?(bhearsum) → review+
Comment on attachment 393826 [details] [diff] [review]
Add CC release classes to factory.py, v1.1

Looks good to me!
Blocks: 510770
Pushed as http://hg.mozilla.org/build/buildbotcustom/rev/af77957a3b08 and filed bug 510770 for 'make source-package' as mentioned by gozer in comment #2 - it affects both SingleSourceFactory and CCSourceFactory in any case.
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Product: mozilla.org → Release Engineering
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: