Closed Bug 841550 Opened 11 years ago Closed 11 years ago

Thunderbird mainline and ESR builds started from same sendchange

Categories

(Release Engineering :: Release Automation: Other, defect)

x86
All
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: jhopkins, Assigned: jhopkins)

References

Details

Attachments

(2 files)

When built from the same source repository, Thunderbird mainline and ESR builds both start in response to a single buildbot sendchange.  The current automation has no way to distinguish between them due to the shared repo.

The only difference between the two sendchanges is the script_repo_revision property:
THUNDERBIRD_17_0_3_RELEASE
THUNDERBIRD_17_0_3esr_RELEASE
To explain the thinking behind the patch a bit further, every release config has a baseTag value:

http://hg.mozilla.org/build/buildbot-configs/file/d3b977bf53f4/mozilla/release-thunderbird-comm-esr17.py#l39
> releaseConfig['baseTag']             = 'THUNDERBIRD_17_0_2esr'

http://hg.mozilla.org/build/buildbot-configs/file/d3b977bf53f4/mozilla/release-thunderbird-comm-release.py#l28
> releaseConfig['baseTag']             = 'THUNDERBIRD_17_0_2'

And every release 'sendchange' specifies a script_repo_revision property:

> script_repo_revision:THUNDERBIRD_17_0_2_RELEASE

> script_repo_revision:THUNDERBIRD_17_0_2esr_RELEASE

If baseTag + '_' is found inside of script_repo_revision:

BASETAG(_)              script_repo_revision           match?
======================  =============================  ======
THUNDERBIRD_17_0_2esr_  THUNDERBIRD_17_0_2_RELEASE     False
THUNDERBIRD_17_0_2_     THUNDERBIRD_17_0_2_RELEASE     True
THUNDERBIRD_17_0_2esr_  THUNDERBIRD_17_0_2esr_RELEASE  True
THUNDERBIRD_17_0_2_     THUNDERBIRD_17_0_2esr_RELEASE  False

As long as the above assumptions are true, we can use this match result to decide whether to process an incoming change.  This will let us differentiate between Thunderbird mainline and Thunderbird ESR even when they are built from the same source repos, because unmatched results can simply be ignored instead of kicking off unwanted builds.
Attachment #714110 - Flags: review+
I've done a bunch of testing in staging with this patch and I believe it is ok to land.
Comment on attachment 714110 [details] [diff] [review]
[buildbotcustom] ensure baseTag(_) matches inside script_repo_revision

Landed in http://hg.mozilla.org/build/buildbotcustom/rev/dba06991d84b
Attachment #714110 - Flags: checked-in+
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
changeBaseTagContainsScriptRepoRevision is not checked in http://hg.mozilla.org/build/buildbotcustom/file/5df90f327b1a/process/release.py#l1895 what caused a "Tagging started for Thunderbird 17.0.6esr build1" email after triggering Thunderbird 17.0.7
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Attachment #765912 - Flags: review?(rail) → review+
Comment on attachment 765912 [details] [diff] [review]
[buildbotcustom] only send email if basetag matches condition

Pep8 violations

>>> check_call(['pep8', 'buildbotcustom', '--diff', '--show-source', '--max-line-length=159'], stdin=f)
buildbotcustom/process/release.py:1896:21: E126 continuation line over-indented for hanging indent
                    changeContainsProduct(c, releaseConfig['productName']) and \
                    ^
buildbotcustom/process/release.py:1896:80: E502 the backslash is redundant between brackets
                    changeContainsProduct(c, releaseConfig['productName']) and \
                                                                               ^
buildbotcustom/process/release.py:1897:21: E126 continuation line over-indented for hanging indent
                    changeBaseTagContainsScriptRepoRevision(c, releaseConfig['baseTag'])
                    ^
Attachment #765912 - Flags: feedback-
Comment on attachment 765912 [details] [diff] [review] [diff] [review]
[buildbotcustom] only send email if basetag matches condition

---------AUTOMATIC COMMENT---------
--  filter pep8-callek-june-2013 --
---------AUTOMATIC COMMENT---------

$pep8 <dir> --diff --max-line-length=159 --show-source < attachment.diff
/tmp/tmp.GdgqxwMzg5/process/release.py:1896:21: E126 continuation line over-indented for hanging indent
                    changeContainsProduct(c, releaseConfig['productName']) and \
                    ^
/tmp/tmp.GdgqxwMzg5/process/release.py:1896:80: E502 the backslash is redundant between brackets
                    changeContainsProduct(c, releaseConfig['productName']) and \
                                                                               ^
/tmp/tmp.GdgqxwMzg5/process/release.py:1897:21: E126 continuation line over-indented for hanging indent
                    changeBaseTagContainsScriptRepoRevision(c, releaseConfig['baseTag'])
                    ^
Comment on attachment 765912 [details] [diff] [review]
[buildbotcustom] only send email if basetag matches condition

Fixed pep8 violations and landed in http://hg.mozilla.org/build/buildbotcustom/rev/0cef037e83d7
Attachment #765912 - Flags: checked-in+
In production
Please reopen if there are any issues.
Status: REOPENED → RESOLVED
Closed: 11 years ago11 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

Created:
Updated:
Size: