Closed Bug 449208 Opened 16 years ago Closed 16 years ago

move Bootstrap's version bumping logic to an external script

Categories

(Release Engineering :: General, defect, P2)

defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: bhearsum, Assigned: bhearsum)

References

Details

(Whiteboard: [hg-automation])

Attachments

(3 files, 3 obsolete files)

Bootstrap should be modified to use this script to avoid duplicating this logic anywhere. The new script should live in http://hg.mozilla.org/build/tools.
Whiteboard: [hg-automation]
Priority: -- → P2
Attached patch version bump logic, in a stand-alone script (obsolete) (deleted) — Splinter Review
This is a straight tear-out of Bootstrap's version bump logic into this external script. Bump() is essentially the same as Bootstrap::Step::Tag::Bump. Upcoming is a diff of that logic vs. this scripts.
Attachment #332369 - Flags: review?(ccooper)
Attached file diff of Bootstrap's bump logic vs. external scripts (obsolete) (deleted) —
Attached patch have Bootstrap call the version bump script (obsolete) (deleted) — Splinter Review
Pretty straightforward, I think. The downside here is going around and installing Mercurial on all of our 1.8/1.9 release machines.
Attachment #332376 - Flags: review?(nthomas)
Comment on attachment 332369 [details] [diff] [review] version bump logic, in a stand-alone script Three nits: 1) Need to do some input checking on the command line options. We should fail early if we're missing something. 2) If we ever expect concurrent access to the IN-/OUTFILE, please unbuffer the output, i.e. add "$|++;" at the start of the script. Probably a good idea to do this anyway. 3) Please fix the usage message to explain how @bumpFiles are specified. They're coming from @ARGV in Bump(), but that's not explained anywhere.
Attachment #332369 - Flags: review?(ccooper) → review-
Attachment #332369 - Attachment is obsolete: true
Attachment #332370 - Attachment is obsolete: true
Attachment #332412 - Flags: review?(ccooper)
(In reply to comment #5) > Created an attachment (id=332412) [details] > add usage message, address coop's other comments The %searchReplace definition for the client.mk case can go ?
n/m, forgot we need to use this for CVS based releases too.
Comment on attachment 332376 [details] [diff] [review] have Bootstrap call the version bump script >Index: Bootstrap/Step/Tag/Bump.pm >=================================================================== ... >+ $this->Shell( >+ cmd => 'perl', >+ cmdArgs => [catfile($buildTagDir, 'tools', 'release', 'bin', >+ 'version-bump.pl'), The ../bin/.. seems superfluous, is it just to match the existing dir in CVS ? >+ '-w', catfile($cvsrootTagDir, 'mozilla'), >+ '-t', $releaseTag, >+ '-a', $appName, >+ '-v', $appVersion, >+ '-m', $milestone, >+ @bumpFiles] Please add a logFile => catfile($logDir, 'tag-bump_files.log'), to this Shell call. r+ with that. Are you planning to run 1.8 staging to test these sort of changes as you go or at the end ?
Attachment #332376 - Flags: review?(nthomas) → review+
(In reply to comment #8) > (From update of attachment 332376 [details] [diff] [review]) > >Index: Bootstrap/Step/Tag/Bump.pm > >=================================================================== > ... > >+ $this->Shell( > >+ cmd => 'perl', > >+ cmdArgs => [catfile($buildTagDir, 'tools', 'release', 'bin', > >+ 'version-bump.pl'), > > The ../bin/.. seems superfluous, is it just to match the existing dir in CVS ? > Yep, I can remove that if it's unnecessary. > >+ '-w', catfile($cvsrootTagDir, 'mozilla'), > >+ '-t', $releaseTag, > >+ '-a', $appName, > >+ '-v', $appVersion, > >+ '-m', $milestone, > >+ @bumpFiles] > > Please add a > logFile => catfile($logDir, 'tag-bump_files.log'), > to this Shell call. > Yeah, good point. > r+ with that. Are you planning to run 1.8 staging to test these sort of changes > as you go or at the end ? > I'm going to do a test-run once version-bump.pl is checked in. It would be awful if we discovered a problem with this in 2.0.0.17/3.0.2.
Attachment #332412 - Flags: review?(ccooper) → review+
Going to land this today to get a test-run in before 2.0.0.17/3.0.2.
Attachment #332376 - Attachment is obsolete: true
Comment on attachment 332412 [details] [diff] [review] [checked in] add usage message, address coop's other comments changeset: 3:64d70b3564f9
Attachment #332412 - Attachment description: add usage message, address coop's other comments → [checked in] add usage message, address coop's other comments
Comment on attachment 333400 [details] [diff] [review] [checked in] Bump.pm, addresses Nick's comments Checking in Step/Tag/Bump.pm; /cvsroot/mozilla/tools/release/Bootstrap/Step/Tag/Bump.pm,v <-- Bump.pm new revision: 1.17; previous revision: 1.16 done
Attachment #333400 - Attachment description: Bump.pm, addresses Nick's comments → [checked in] Bump.pm, addresses Nick's comments
Starting a test run on 1.8 staging
I add to add hgToolsRepo to the staging config to do a test-run: diff -u -r1.29 fx-moz18-staging-bootstrap.cfg --- fx-moz18-staging-bootstrap.cfg 25 Jul 2008 13:31:07 -0000 1.29 +++ fx-moz18-staging-bootstrap.cfg 12 Aug 2008 16:20:10 -0000 @@ -80,3 +80,4 @@ symbolServerKey = /home/cltbld/.ssh/id_rsa useTarGz = 1 useBetaChannel = 1 +hgToolsRepo = http://hg.mozilla.org/build/tools ca-245:configs bhearsum$ cvs commit -m "bug 449208: add hgToolsRepo to staging 1.8 bootstrap.cfg so we can do a test run of the new Bump.pm code." cvs commit: Examining . Checking in fx-moz18-staging-bootstrap.cfg; /cvsroot/mozilla/tools/release/configs/fx-moz18-staging-bootstrap.cfg,v <-- fx-moz18-staging-bootstrap.cfg new revision: 1.30; previous revision: 1.29 done
Ok, I got a good test-run out staging 1.8 today. Here's a log snippet: log: Ending time is 07:32:27 08/14/08 log: Running shell command: log: arg0: perl log: arg1: /builds/tags/FIREFOX_2_0_0_17_BUILD1/tools/release/version-bump.pl log: arg2: -w log: arg3: /builds/tags/FIREFOX_2_0_0_17_BUILD1/cvsroot/mozilla log: arg4: -t log: arg5: FIREFOX_2_0_0_17_RELEASE log: arg6: -a log: arg7: browser log: arg8: -v log: arg9: 2.0.0.17 log: arg10: -m log: arg11: 1.8.1.17 log: arg12: client.mk log: arg13: browser/app/module.ver log: arg14: browser/config/version.txt log: arg15: config/milestone.txt log: Starting time is 07:32:27 08/14/08 log: Logging output to /builds/logs/tag-bump_files.log log: Timeout: 3600 /builds/tags/FIREFOX_2_0_0_17_BUILD1/cvsroot/mozilla/client.mk: ^#?MOZ_CO_TAG\s+=.+$ found /builds/tags/FIREFOX_2_0_0_17_BUILD1/cvsroot/mozilla/client.mk: ^#?MOZ_CO_TAG\s+=.+$ replaced with MOZ_CO_TAG = FIREFOX_2_0_0_17_RELEASE /builds/tags/FIREFOX_2_0_0_17_BUILD1/cvsroot/mozilla/client.mk: ^NSPR_CO_TAG\s+=\s+\w* found /builds/tags/FIREFOX_2_0_0_17_BUILD1/cvsroot/mozilla/client.mk: ^NSPR_CO_TAG\s+=\s+\w* replaced with NSPR_CO_TAG = FIREFOX_2_0_0_17_RELEASE /builds/tags/FIREFOX_2_0_0_17_BUILD1/cvsroot/mozilla/client.mk: ^NSS_CO_TAG\s+=\s+\w* found /builds/tags/FIREFOX_2_0_0_17_BUILD1/cvsroot/mozilla/client.mk: ^NSS_CO_TAG\s+=\s+\w* replaced with NSS_CO_TAG = FIREFOX_2_0_0_17_RELEASE /builds/tags/FIREFOX_2_0_0_17_BUILD1/cvsroot/mozilla/client.mk: ^LDAPCSDK_CO_TAG\s+=.*$ found /builds/tags/FIREFOX_2_0_0_17_BUILD1/cvsroot/mozilla/client.mk: ^LDAPCSDK_CO_TAG\s+=.*$ replaced with LDAPCSDK_CO_TAG = FIREFOX_2_0_0_17_RELEASE /builds/tags/FIREFOX_2_0_0_17_BUILD1/cvsroot/mozilla/client.mk: ^LOCALES_CO_TAG\s+=.*$ found /builds/tags/FIREFOX_2_0_0_17_BUILD1/cvsroot/mozilla/client.mk: ^LOCALES_CO_TAG\s+=.*$ replaced with LOCALES_CO_TAG = FIREFOX_2_0_0_17_RELEASE /builds/tags/FIREFOX_2_0_0_17_BUILD1/cvsroot/mozilla/browser/app/module.ver: ^WIN32_MODULE_PRODUCTVERSION_STRING=2.0.0.17pre$ found /builds/tags/FIREFOX_2_0_0_17_BUILD1/cvsroot/mozilla/browser/app/module.ver: ^WIN32_MODULE_PRODUCTVERSION_STRING=2.0.0.17pre$ replaced with WIN32_MODULE_PRODUCTVERSION_STRING=2.0.0.17 /builds/tags/FIREFOX_2_0_0_17_BUILD1/cvsroot/mozilla/browser/config/version.txt: ^2.0.0.17pre$ found /builds/tags/FIREFOX_2_0_0_17_BUILD1/cvsroot/mozilla/browser/config/version.txt: ^2.0.0.17pre$ replaced with 2.0.0.17 /builds/tags/FIREFOX_2_0_0_17_BUILD1/cvsroot/mozilla/config/milestone.txt: ^1.8.1.17pre$ found /builds/tags/FIREFOX_2_0_0_17_BUILD1/cvsroot/mozilla/config/milestone.txt: ^1.8.1.17pre$ replaced with 1.8.1.17 log: Ending time is 07:32:28 08/14/08 Here's a log snippet from 2.0.0.16, production, running with the old Bump.pm: log: ^#?MOZ_CO_TAG\s+=.+$ found log: ^#?MOZ_CO_TAG\s+=.+$ replaced with MOZ_CO_TAG = FIREFOX_2_0_0_16_RELEASE log: ^NSPR_CO_TAG\s+=\s+\w* found log: ^NSPR_CO_TAG\s+=\s+\w* replaced with NSPR_CO_TAG = FIREFOX_2_0_0_16_RELEASE log: ^NSS_CO_TAG\s+=\s+\w* found log: ^NSS_CO_TAG\s+=\s+\w* replaced with NSS_CO_TAG = FIREFOX_2_0_0_16_RELEASE log: ^LDAPCSDK_CO_TAG\s+=.*$ found log: ^LDAPCSDK_CO_TAG\s+=.*$ replaced with LDAPCSDK_CO_TAG = FIREFOX_2_0_0_16_RELEASE log: ^LOCALES_CO_TAG\s+=.*$ found log: ^LOCALES_CO_TAG\s+=.*$ replaced with LOCALES_CO_TAG = FIREFOX_2_0_0_16_RELEASE log: ^WIN32_MODULE_PRODUCTVERSION_STRING=2.0.0.16pre$ found log: ^WIN32_MODULE_PRODUCTVERSION_STRING=2.0.0.16pre$ replaced with WIN32_MODULE_PRODUCTVERSION_STRING=2.0.0.16 log: ^2.0.0.16pre$ found log: ^2.0.0.16pre$ replaced with 2.0.0.16 log: ^1.8.1.16pre$ found log: ^1.8.1.16pre$ replaced with 1.8.1.16 Looks like everything is in order here. Does it look okay to you, Nick? We should create a new RELEASE_AUTOMATION tag if it does.
(In reply to comment #15) > Looks like everything is in order here. Does it look okay to you, Nick? We > should create a new RELEASE_AUTOMATION tag if it does. Looks OK to me too. Is this the only change we'd make before Fx2.0.0.17/3.0.2 etc ? If not, perhaps we should tag closer to those releases.
We're staring on Monday, I believe, so we could wait till then. I suspect no other changes will come in before that, though.
Attachment #333788 - Flags: review?(nthomas) → review?(ccooper)
Comment on attachment 333788 [details] [diff] [review] [checked in] add 'hgToolsRepo' to all release bootstrap configs w/ https https:// maybe, given bug 450645? Basic patch is fine though.
Attachment #333788 - Flags: review?(ccooper) → review+
Yeah, I'll land it with https://
Comment on attachment 333788 [details] [diff] [review] [checked in] add 'hgToolsRepo' to all release bootstrap configs w/ https landed w/ https: Checking in fx-moz18-bootstrap.cfg; /cvsroot/mozilla/tools/release/configs/fx-moz18-bootstrap.cfg,v <-- fx-moz18-bootstrap.cfg new revision: 1.49; previous revision: 1.48 done Checking in fx-moz18-staging-bootstrap.cfg; /cvsroot/mozilla/tools/release/configs/fx-moz18-staging-bootstrap.cfg,v <-- fx-moz18-staging-bootstrap.cfg new revision: 1.31; previous revision: 1.30 done Checking in fx-moz19-bootstrap.cfg; /cvsroot/mozilla/tools/release/configs/fx-moz19-bootstrap.cfg,v <-- fx-moz19-bootstrap.cfg new revision: 1.34; previous revision: 1.33 done Checking in fx-moz19-staging-bootstrap.cfg; /cvsroot/mozilla/tools/release/configs/fx-moz19-staging-bootstrap.cfg,v <-- fx-moz19-staging-bootstrap.cfg new revision: 1.33; previous revision: 1.32 done Checking in tb-moz18-bootstrap.cfg; /cvsroot/mozilla/tools/release/configs/tb-moz18-bootstrap.cfg,v <-- tb-moz18-bootstrap.cfg new revision: 1.27; previous revision: 1.26 done Checking in tb-moz18-staging-bootstrap.cfg; /cvsroot/mozilla/tools/release/configs/tb-moz18-staging-bootstrap.cfg,v <-- tb-moz18-staging-bootstrap.cfg new revision: 1.8; previous revision: 1.7 done Checking in tb-moz19-bootstrap.cfg; /cvsroot/mozilla/tools/release/configs/tb-moz19-bootstrap.cfg,v <-- tb-moz19-bootstrap.cfg new revision: 1.6; previous revision: 1.5 done Checking in tb-moz19-staging-bootstrap.cfg; /cvsroot/mozilla/tools/release/configs/tb-moz19-staging-bootstrap.cfg,v <-- tb-moz19-staging-bootstrap.cfg new revision: 1.3; previous revision: 1.2 done
Comment on attachment 333400 [details] [diff] [review] [checked in] Bump.pm, addresses Nick's comments 3.0.2 was bumped with this code without issue.
Attachment #333788 - Attachment description: add 'hgToolsRepo' to all release bootstrap configs → [checked in] add 'hgToolsRepo' to all release bootstrap configs w/ https
I think we're all done here.
Status: ASSIGNED → RESOLVED
Closed: 16 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: