Patching a Branch: Difference between revisions
From Genecats
Jump to navigationJump to search
No edit summary |
No edit summary |
||
Line 6: | Line 6: | ||
* ('''Developer'''): Fix the error (and get a second opinion on your fix from another developer). Let the QA person know that it is fixed. | * ('''Developer'''): Fix the error (and get a second opinion on your fix from another developer). Let the QA person know that it is fixed. | ||
* ('''QA'''): Verify the developer's fix on hgwdev. Send email to Build-meister (cc'ing browser-qa and developer) with revision number of the fix and patch request (including an explanation of the problem and the fix and the CGIs that will be affected). | * ('''QA'''): Verify the developer's fix on hgwdev. Send email to Build-meister (cc'ing browser-qa and developer) with revision number of the fix and patch request (including an explanation of the problem and the fix and the CGIs that will be affected). | ||
* ('''Build-Meister'''): Check the Git log to make sure that you are making the correct change. | * ('''Build-Meister'''): Check the Git log to make sure that you are making the correct change. | ||
hgwdev> cd $BUILDDIR/v${BRANCHNN}_branch/kent/src | |||
hgwdev> git log hg/someCgi/someFile.c | |||
hgwdev> ssh -X build@hgwbeta # the optional '-X' allows X-windows support | |||
<build@hgwbeta> cd $BUILDDIR/v${BRANCHNN}_branch/kent/src | |||
<build@hgwbeta> git log hg/someCgi/someFile.c | |||
* ('''Build-Meister'''): Tell the program which file and version you want to change to. | * ('''Build-Meister'''): Tell the program which file and version you want to change to. | ||
hgwbeta> cd $WEEKLYBLD | <build@hgwbeta> cd $WEEKLYBLD | ||
hgwbeta | <build@hgwbeta> edit CherryPickCommits.conf | ||
** This is a list and you can have more than one line if you need. | ** This is a list and you can have more than one line if you need. | ||
** Edit this file to include the git commit hash id like so: | ** Edit this file to include the git commit hash id like so: | ||
96b0dc9826d589e09daf2bd1a36ef513c91255b1 | 96b0dc9826d589e09daf2bd1a36ef513c91255b1 | ||
* ('''Build-Meister'''): Do a test run and verify that everything is set up correctly: | * ('''Build-Meister'''): Do a test run and verify that everything is set up correctly: | ||
./cherryPickCommits.csh | <build@hgwbeta> ./cherryPickCommits.csh | ||
* ('''Build-Meister'''): If it is correct, run it for real: | * ('''Build-Meister'''): If it is correct, run it for real: | ||
./cherryPickCommits.csh real | <build@hgwbeta> ./cherryPickCommits.csh real | ||
* ('''Build-Meister'''): Determine which CGIs are affected by this file change: | * ('''Build-Meister'''): Determine which CGIs are affected by this file change: | ||
hgwbeta> cd /usr/local/apache/cgi-bin | <build@hgwbeta> cd /usr/local/apache/cgi-bin | ||
hgwbeta:/usr/local/apache/cgi-bin> ./dependencies fileName.c | <build@hgwbeta:/usr/local/apache/cgi-bin> ./dependencies fileName.c | ||
* ('''Build-Meister'''): Go to the current build: | * ('''Build-Meister'''): Go to the current build: | ||
hgwbeta> cd ${BUILDDIR}/v${BRANCHNN}_branch | <build@hgwbeta> cd ${BUILDDIR}/v${BRANCHNN}_branch | ||
* ('''Build-Meister'''): Do a 'make' in the library directory, if necessary. If the file change was a lib file, then do a make in the corresponding lib directory: | * ('''Build-Meister'''): Do a 'make' in the library directory, if necessary. If the file change was a lib file, then do a make in the corresponding lib directory: | ||
hgwbeta | <build@hgwbeta> cd ${BUILDDIR}/v${BRANCHNN}_branch/kent/src/lib> | ||
<build@hgwbeta> make | |||
** -or- | ** -or- | ||
hgwbeta | <build@hgwbeta> cd ${BUILDDIR}/v${BRANCHNN}_branch/kent/src/hg/lib> | ||
<build@hgwbeta> make | |||
* ('''Build-Meister'''): If only one or two programs are impacted by the change, do a 'make alpha' in their CGI directories: | * ('''Build-Meister'''): If only one or two programs are impacted by the change, do a 'make alpha' in their CGI directories: | ||
hgwbeta> cd ${BUILDDIR}/v${BRANCHNN}_branch/kent/src/hg | <build@hgwbeta> cd ${BUILDDIR}/v${BRANCHNN}_branch/kent/src/hg | ||
hgwbeta | <build@hgwbeta> cd path/to/c/file # e.g.: cd hgTracks | ||
hgwbeta | <build@hgwbeta> make alpha | ||
** -or- | ** -or- | ||
* ('''Build-Meister'''): If all or many are impacted, do a 'make alpha' in hg/: | * ('''Build-Meister'''): If all or many are impacted, do a 'make alpha' in hg/: | ||
hgwbeta | <build@hgwbeta> cd ${BUILDDIR}/v${BRANCHNN}_branch/kent/src/hg | ||
* ('''Build-Meister'''): | <build@hgwbet> make alpha | ||
* ('''Build-Meister'''): Update the redmine ticket that the build has been patched and binaries made on hgwbeta. | |||
* ('''QA'''): Test the change on hgwbeta. | * ('''QA'''): Test the change on hgwbeta. | ||
* ('''QA'''): Reply to the email about the efficacy of the change. | * ('''QA'''): Reply to the email about the efficacy of the change. |
Revision as of 18:03, 13 August 2012
Edited to use Git and cherry-picking.
How? ("Who" in parenthesis)
- (QA): Find an error in the binaries, determine if it needs to be patched, and alert the Developer.
- (Developer): Fix the error (and get a second opinion on your fix from another developer). Let the QA person know that it is fixed.
- (QA): Verify the developer's fix on hgwdev. Send email to Build-meister (cc'ing browser-qa and developer) with revision number of the fix and patch request (including an explanation of the problem and the fix and the CGIs that will be affected).
- (Build-Meister): Check the Git log to make sure that you are making the correct change.
hgwdev> cd $BUILDDIR/v${BRANCHNN}_branch/kent/src hgwdev> git log hg/someCgi/someFile.c hgwdev> ssh -X build@hgwbeta # the optional '-X' allows X-windows support <build@hgwbeta> cd $BUILDDIR/v${BRANCHNN}_branch/kent/src <build@hgwbeta> git log hg/someCgi/someFile.c
- (Build-Meister): Tell the program which file and version you want to change to.
<build@hgwbeta> cd $WEEKLYBLD <build@hgwbeta> edit CherryPickCommits.conf
- This is a list and you can have more than one line if you need.
- Edit this file to include the git commit hash id like so:
96b0dc9826d589e09daf2bd1a36ef513c91255b1
- (Build-Meister): Do a test run and verify that everything is set up correctly:
<build@hgwbeta> ./cherryPickCommits.csh
- (Build-Meister): If it is correct, run it for real:
<build@hgwbeta> ./cherryPickCommits.csh real
- (Build-Meister): Determine which CGIs are affected by this file change:
<build@hgwbeta> cd /usr/local/apache/cgi-bin <build@hgwbeta:/usr/local/apache/cgi-bin> ./dependencies fileName.c
- (Build-Meister): Go to the current build:
<build@hgwbeta> cd ${BUILDDIR}/v${BRANCHNN}_branch
- (Build-Meister): Do a 'make' in the library directory, if necessary. If the file change was a lib file, then do a make in the corresponding lib directory:
<build@hgwbeta> cd ${BUILDDIR}/v${BRANCHNN}_branch/kent/src/lib> <build@hgwbeta> make
- -or-
<build@hgwbeta> cd ${BUILDDIR}/v${BRANCHNN}_branch/kent/src/hg/lib> <build@hgwbeta> make
- (Build-Meister): If only one or two programs are impacted by the change, do a 'make alpha' in their CGI directories:
<build@hgwbeta> cd ${BUILDDIR}/v${BRANCHNN}_branch/kent/src/hg <build@hgwbeta> cd path/to/c/file # e.g.: cd hgTracks <build@hgwbeta> make alpha
- -or-
- (Build-Meister): If all or many are impacted, do a 'make alpha' in hg/:
<build@hgwbeta> cd ${BUILDDIR}/v${BRANCHNN}_branch/kent/src/hg <build@hgwbet> make alpha
- (Build-Meister): Update the redmine ticket that the build has been patched and binaries made on hgwbeta.
- (QA): Test the change on hgwbeta.
- (QA): Reply to the email about the efficacy of the change.