Closed
Bug 775535
Opened 12 years ago
Closed 12 years ago
support for multiple partial updates in patcher config bumper
Categories
(Release Engineering :: Release Automation: Other, defect)
Release Engineering
Release Automation: Other
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: bhearsum, Unassigned)
References
Details
Attachments
(1 file, 4 obsolete files)
9.67 KB,
patch
|
bhearsum
:
review+
bhearsum
:
checked-in+
|
Details | Diff | Splinter Review |
No description provided.
Reporter | ||
Comment 1•12 years ago
|
||
Attachment #643840 -
Attachment is obsolete: true
Reporter | ||
Comment 2•12 years ago
|
||
Comment on attachment 643841 [details] [diff] [review] full patcher config script, for marking up Review of attachment 643841 [details] [diff] [review]: ----------------------------------------------------------------- ::: release/patcher-config-bump.pl @@ +29,5 @@ > + > +sub ProcessArgs { > + GetOptions( > + \%config, > + "product|p=s", "brand|r=s", "version|v=s", "old-version|o=s", Need to add --partial-version. I'm not 100% sure if Perl's Getopt supports arguments occurring more than once so we may have to find a different way to pass this data if it doesn't. We *do* need to continue passing old-version here, so that we can set the "from" property correctly. Might be better to rename it to fromVersion. @@ +213,5 @@ > + # doOnetimePatcherBump > + > + if ($doOnetimePatcherBumps) { > + $currentUpdateObj->{'to'} = $version; > + $currentUpdateObj->{'from'} = $oldVersion; Possibly s/oldVersion/fromVersion/ @@ +237,5 @@ > + } > + > + my $buildStr = 'build' . $build; > + > + my $partialUpdate = {}; If we end up using the new script to generate all of the partials, we can get rid of all of the $partialUpdate stuff. If we use the existing patcher to generate those we may need to s/oldVersion/fromVersion/ here. Either way we need to add some new code to generate a <partials> block, which will be another child of <current-update>. The format is described in depth here: https://bugzilla.mozilla.org/show_bug.cgi?id=773290#c3 and is basically the same as the existing <partial> block except with an intermediate level to support multiple versions. Most of this code can probably be reused. Not sure if bumpFilePath is going to work out of box, though. @@ +374,5 @@ > + $patcherConfigObj->save_file($patcherConfig); > +} > + > + > +sub RunUnitTests { If these still work, we need to update them.
Comment 3•12 years ago
|
||
A quick patcher-config-bump.pl patch which generates <partials> section for every version passed as --partial-version. The patch doesn't indent the code properly. I did this on purpose to let the patch live longer without being bitrotten. Example command: perl patcher-config-bump.pl -p firefox -r Firefox -v 14.0.1 -a 14.0.1 -b 1 -o 13.0.2 --partial-version 13.0.2 --partial-version 13.0.1 --partial-version 13.0 -c mozRelease-branch-patcher2.cfg -t stage.mozilla.org -f ftp.mozilla.org -d download.mozilla.org -l shipped-locales --platform linux --platform linux64 --platform macosx64 --platform win32 --marname firefox --oldmarname firefox
Reporter | ||
Comment 4•12 years ago
|
||
Comment on attachment 645435 [details] [diff] [review] patcher-config-bump.pl patch Review of attachment 645435 [details] [diff] [review]: ----------------------------------------------------------------- This looks pretty plausible to me. Will need to be tested in the context of release automation still, of course.
Attachment #645435 -
Flags: feedback+
Reporter | ||
Comment 5•12 years ago
|
||
Comment on attachment 645435 [details] [diff] [review] patcher-config-bump.pl patch This patch worked well in my staging run.
Attachment #645435 -
Flags: review+
Reporter | ||
Comment 6•12 years ago
|
||
Comment on attachment 645435 [details] [diff] [review] patcher-config-bump.pl patch Actually, sorry...I forgot that we wanted to get rid of the <partial> blocks completely. Is it possible to make BumpFilePath calls work without using stuff from <partial> in oldFilePath?
Attachment #645435 -
Flags: review+ → review-
Reporter | ||
Comment 7•12 years ago
|
||
(In reply to Ben Hearsum [:bhearsum] from comment #6) > Comment on attachment 645435 [details] [diff] [review] > patcher-config-bump.pl patch > > Actually, sorry...I forgot that we wanted to get rid of the <partial> blocks > completely. Is it possible to make BumpFilePath calls work without using > stuff from <partial> in oldFilePath? I took a crack at this: https://github.com/bhearsum/tools/compare/mozilla:master...patcher-config-bump
Reporter | ||
Comment 8•12 years ago
|
||
Used this in my latest staging run and it worked well! This is basically the same as Rail's patch, except I look at one of the <partials> blocks instead of <partial> as the starting paths. The updates run is here, if you want to see the command + diff: http://dev-master01.build.scl1.mozilla.com:8018/builders/release-mozilla-beta-updates/builds/30 Probably good to have someone who didn't work on the patch review it, too....so +nthomas here.
Attachment #643841 -
Attachment is obsolete: true
Attachment #645435 -
Attachment is obsolete: true
Attachment #652225 -
Flags: review?(rail)
Attachment #652225 -
Flags: review?(nrthomas)
Comment 9•12 years ago
|
||
Comment on attachment 652225 [details] [diff] [review] don't rely on a <partial> block when bumping >diff --git a/release/patcher-config-bump.pl b/release/patcher-config-bump.pl > sub ProcessArgs { > GetOptions( > \%config, > "product|p=s", "brand|r=s", "version|v=s", "old-version|o=s", >+ "partial-version=s@", Please add this new arg to the usage doc, in particular noting that you must pass a --partial-version the same as --old-version to get partials for the old version. >+ my $pBetatestPath = BumpFilePath( >+ oldFilePath => $oldPaths->{'betatest-url'}, >+ product => $product, Could we restore the indenting on landing ? Otherwise looks good.
Attachment #652225 -
Flags: review?(nrthomas) → review+
Reporter | ||
Comment 10•12 years ago
|
||
(In reply to Nick Thomas [:nthomas] from comment #9) > Comment on attachment 652225 [details] [diff] [review] > don't rely on a <partial> block when bumping > > >diff --git a/release/patcher-config-bump.pl b/release/patcher-config-bump.pl > > sub ProcessArgs { > > GetOptions( > > \%config, > > "product|p=s", "brand|r=s", "version|v=s", "old-version|o=s", > >+ "partial-version=s@", > > Please add this new arg to the usage doc, in particular noting that you must > pass a --partial-version the same as --old-version to get partials for the > old version. > > >+ my $pBetatestPath = BumpFilePath( > >+ oldFilePath => $oldPaths->{'betatest-url'}, > >+ product => $product, > > Could we restore the indenting on landing ? Otherwise looks good. I addressed both of these in https://github.com/bhearsum/tools/commit/8ac6feb02c5c1a182f07432b5106004a6edf9c1c
Updated•12 years ago
|
Attachment #652225 -
Flags: review?(rail) → review+
Reporter | ||
Comment 11•12 years ago
|
||
Carrying forward r+.
Attachment #652225 -
Attachment is obsolete: true
Attachment #653361 -
Flags: review+
Reporter | ||
Updated•12 years ago
|
Attachment #653361 -
Flags: checked-in+
Reporter | ||
Comment 12•12 years ago
|
||
Worked fine in Firefox 15.0b6/Thunderbird 15.0b5.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Assignee | ||
Updated•11 years ago
|
Product: mozilla.org → Release Engineering
You need to log in
before you can comment on or make changes to this bug.
Description
•